Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.75 KB | None | 0 0
  1. DECLARE @reservNo   INT
  2. SET     @reservNo = 5004001
  3.  
  4. IF OBJECT_ID('tempdb..#eventStartTimes') IS NOT NULL
  5.    DROP TABLE #eventStartTimes
  6.  
  7. CREATE TABLE #eventStartTimes
  8. (
  9.     eventNo     INT,
  10.     location    INT,
  11.     [event]     INT,
  12.     startDate   DATETIME
  13. )
  14.  
  15. DECLARE @eventIndex INT
  16. SET     @eventIndex = 0
  17.  
  18. DECLARE @tempString VARCHAR(MAX)
  19. DECLARE @locatID    INT
  20. DECLARE @schedID    INT
  21. DECLARE @startDate  DATETIME
  22.  
  23. SET     @tempString = (SELECT r.save_info FROM resrvatn r WHERE reserv_no = @reservNo)
  24.  
  25. WHILE (PATINDEX('%<Event[_]%>%', @tempString) != '')
  26. BEGIN
  27.     SET     @tempString = SUBSTRING(@tempString, PATINDEX('%<Event[_]%>%', @tempString),
  28.             LEN(@tempString)) -- Trim until next event
  29.     SET     @tempString = SUBSTRING(@tempString, PATINDEX('%<callocatid>%', @tempString),
  30.             LEN(@tempString)) -- Trim until location ID
  31.  
  32.     SET     @locatID = CAST(SUBSTRING(@tempString, LEN('<callocatid>') + 1,
  33.                        PATINDEX('%</callocatid>%', @tempString) - LEN('</callocatid>'))
  34.                        AS INT)
  35.  
  36.     SET     @tempString = SUBSTRING(@tempString, PATINDEX('%<calschedid>%', @tempString),
  37.                           LEN(@tempString)) -- Trim until event ID
  38.  
  39.     SET     @schedID = CAST(SUBSTRING(@tempString, LEN('<calschedid>') + 1,
  40.                        PATINDEX('%</calschedid>%', @tempString) - LEN('</calschedid>'))
  41.                        AS INT)
  42.  
  43.     SET     @tempString = SUBSTRING(@tempString, PATINDEX('%<start[_]date>%', @tempString),
  44.                           LEN(@tempString)) -- Trim until start_date
  45.  
  46.     SET     @startDate = CAST(SUBSTRING(@tempString, LEN('<start_date>') + 1,
  47.                          PATINDEX('%</start[_]date>%', @tempString) - LEN('</start_date>'))
  48.                          AS DATETIME)
  49.    
  50.     INSERT INTO #eventStartTimes
  51.         SELECT  @eventIndex,
  52.                 @locatID,
  53.                 @schedID,
  54.                 @startDate
  55.  
  56.     SET     @eventIndex = @eventIndex + 1
  57.  
  58. END
  59.    
  60. SELECT * FROM #eventStartTimes
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement