Advertisement
Guest User

ForgiveMeForIHaveSinned

a guest
Nov 24th, 2020
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 0.90 KB | None | 0 0
  1. create table temp1 (id int identity primary key, Location varchar(4), ItemNo int)
  2. create table alreadyReturned(id int primary key)
  3.  
  4. create or alter function fn_a (@id int)
  5. returns int
  6. as
  7. begin
  8.     declare @sql varchar(4000),
  9.             @cmd varchar(4000),
  10.             @retval tinyint
  11.    
  12.  
  13.     if not exists (select 1 from alreadyReturned where id = @id)
  14.     begin
  15.         select @sql = 'insert into alreadyReturned select ' + cast(@id as varchar)
  16.         select @cmd = 'sqlcmd -S ' +@@SERVERNAME+ ' -d ' +db_name()+ ' -Q "' + @sql +'"'
  17.         exec master..xp_cmdshell @cmd, 'no_output'
  18.         set @retval = 1
  19.     end
  20.     else set @retval = 0
  21.    
  22. return @retval
  23. end
  24. go
  25.  
  26. CREATE or alter FUNCTION fn_b(@id AS int)  
  27.     RETURNS TABLE  
  28.     RETURN SELECT 1 AS 'SecureCourierShipments'  where  dbo.fn_a(@id) = 1
  29. go
  30.  
  31.  
  32. CREATE SECURITY POLICY bazmek  
  33.  
  34. ADD FILTER PREDICATE dbo.fn_b(id)  
  35. ON dbo.temp1  
  36. WITH (STATE = ON, Schemabinding = off);
  37.  
  38.  
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement