Guest User

Untitled

a guest
Oct 17th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. CREATE Procedure [dbo].[spTestingBaseVoter]
  2. @SortColumn NVARCHAR(128) = N'name_voter',
  3. @SortDirection VARCHAR(4) = 'asc',
  4. @offset INT,
  5. @limit INT
  6. As
  7. Begin
  8. SET NOCOUNT ON;
  9.  
  10. -- reject any invalid sort directions:
  11. IF LOWER(@SortDirection) NOT IN ('asc','desc')
  12. BEGIN
  13. RAISERROR('Invalid parameter for @SortDirection: %s', 11, 1, @SortDirection);
  14. RETURN -1;
  15. END
  16.  
  17. -- reject any unexpected column names:
  18. IF LOWER(@SortColumn) NOT IN (N'name_voter', N'home_street_address_1', N'home_address_city')
  19. BEGIN
  20. RAISERROR('Invalid parameter for @SortColumn: %s', 11, 1, @SortColumn);
  21. RETURN -1;
  22. END
  23.  
  24. --SET @SortColumn = QUOTENAME(@SortColumn);
  25.  
  26. DECLARE @sql NVARCHAR(MAX);
  27.  
  28. SET @sql = N'SELECT id, name_voter, home_street_address_1, home_address_city
  29. FROM dbo.base_voter
  30. WITH(NOLOCK)
  31. WHERE deleted_at IS NULL'
  32.  
  33. SET @sql = @sql + N' ORDER BY ' + @SortColumn + ' ' + @SortDirection +
  34. ' OFFSET @OF ROWS
  35. FETCH NEXT @LIM ROWS ONLY ';
  36.  
  37.  
  38.  
  39. EXEC sp_executesql @sql,
  40. N'@OF int,@LIM int',
  41. @OF=@offset, @LIM=@limit
  42. End
  43.  
  44. CREATE NONCLUSTERED INDEX FIBaseVoterWithDeletedAt
  45. ON dbo.base_voter (name_voter asc,home_street_address_1, home_address_city)
  46. WHERE deleted_at IS NULL ;
  47.  
  48. Execute spTestingBaseVoter name_voter,asc,9999950,50
Add Comment
Please, Sign In to add comment