Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.08 KB | None | 0 0
  1. CREATE PROC usp_StringComprisedLetters(
  2.   @setOfLetters nvarchar = '')
  3. AS
  4. DECLARE @tempTable TABLE(StringChecked nvarchar(35))
  5. DECLARE @resultsTable TABLE(Match nvarchar(35))
  6. DECLARE @currentRecord nvarchar(10),
  7. @outerCount int = 0
  8. INSERT INTO @tempTable
  9.   SELECT FirstName
  10.   FROM Employees
  11.   UNION ALL
  12.   SELECT LastName
  13.   FROM Employees
  14.   UNION All
  15.   SELECT Name
  16.   FROM Towns
  17. DECLARE cursorName CURSOR
  18. LOCAL SCROLL STATIC
  19. FOR
  20. SELECT StringChecked FROM @tempTable
  21. OPEN cursorName
  22. FETCH NEXT FROM cursorName
  23.     INTO @currentRecord
  24. WHILE @@FETCH_STATUS = 0
  25. BEGIN
  26.    FETCH NEXT FROM cursorName
  27.    INTO @currentRecord
  28.    SET @outerCount = LEN(@currentRecord)
  29.    DECLARE @areDifferent int = 0
  30.    WHILE (@outerCount > 0)
  31.    BEGIN
  32.       IF (CHARINDEX(SUBSTRING(@currentRecord, @outerCount, 1), @setOfLetters) = 0)
  33.       BEGIN
  34.          SET @areDifferent = 1  
  35.       END
  36.       SET @outerCount = @outerCount - 1
  37.    END
  38.    IF (@areDifferent = 0)
  39.    INSERT INTO @resultsTable VALUES(@currentRecord)
  40. END
  41. CLOSE cursorName
  42. DEALLOCATE cursorName
  43. SELECT * FROM @resultsTable
  44. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement