Advertisement
Guest User

Untitled

a guest
Dec 20th, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. CREATE FUNCTION UDF_InsertDataFromString
  2. (
  3. @dataString VARCHAR(5000)
  4. )
  5. RETURNS @insertedData TABLE
  6. (
  7. NAME VARCHAR(30),
  8. AGE INT
  9. )
  10. AS
  11. BEGIN
  12. DECLARE @pipeIndex INT,
  13. @commaIndex INT,
  14. @LENGTH INT,
  15. @NAME VARCHAR(100),
  16. @AGE INT
  17. SELECT @LENGTH = LEN(RTRIM(LTRIM(@dataString))),
  18. @dataString = RTRIM(LTRIM(@dataString))
  19.  
  20. WHILE (@LENGTH <> 0)
  21. BEGIN
  22. SELECT @LENGTH = LEN(@dataString),
  23. @commaIndex = CHARINDEX(',', @dataString),
  24. @pipeIndex = CHARINDEX('|', @dataString)
  25. IF(@pipeIndex = 0) SET @pipeIndex = @LENGTH +1
  26. SELECT @NAME = RTRIM(LTRIM(SUBSTRING(@dataString, 1, @commaIndex-1))),
  27. @AGE = RTRIM(LTRIM(SUBSTRING(@dataString, @commaIndex+1, @pipeIndex-@commaIndex-1))),
  28. @dataString = RTRIM(LTRIM(SUBSTRING(@dataString, @pipeIndex+1, @LENGTH-@commaIndex-1)))
  29. INSERT INTO @insertedData(NAME, AGE)
  30. VALUES(@NAME, @AGE)
  31. SELECT @LENGTH = LEN(@dataString)
  32. END
  33. RETURN
  34. END
  35.  
  36. DECLARE @personDetail TABLE(NAME VARCHAR(30), AGE INT)
  37.  
  38. INSERT INTO @personDetail(NAME, AGE)
  39. SELECT NAME, AGE
  40. FROM dbo.UDF_InsertDataFromString('Acton,58|Nairi,20|Sara,14|Denny,52')
  41.  
  42. SELECT NAME, AGE
  43. FROM @personDetail
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement