Advertisement
Guest User

Untitled

a guest
Apr 19th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. SET NOCOUNT ON;
  2. USE tempdb;
  3. IF OBJECT_ID('dbo.t') IS NOT NULL
  4. BEGIN
  5. DROP TRIGGER t_trig;
  6. DROP TABLE dbo.t;
  7. END
  8. GO
  9. CREATE TABLE dbo.t
  10. (
  11. ID INT NOT NULL
  12. , ID2 INT NULL
  13. );
  14. GO
  15. CREATE TRIGGER t_trig ON dbo.t
  16. WITH EXECUTE AS OWNER
  17. AFTER INSERT
  18. AS
  19. BEGIN
  20. UPDATE dbo.t
  21. SET ID2 = ID
  22. WHERE EXISTS (SELECT 1 FROM inserted i WHERE i.ID = dbo.t.ID);
  23. END
  24. GO
  25. CREATE LOGIN tLogin WITH PASSWORD = 'QWERFsdf23454%';
  26. CREATE USER tLogin FROM LOGIN tLogin WITH DEFAULT_SCHEMA = dbo;
  27. GRANT INSERT ON dbo.t TO tLogin;
  28. DENY UPDATE ON dbo.t TO tLogin;
  29.  
  30. EXECUTE AS USER = 'tLogin';
  31. SELECT SUSER_SNAME();
  32. INSERT INTO dbo.t(ID) VALUES (1);
  33. REVERT
  34.  
  35. SELECT *
  36. FROM dbo.t;
  37.  
  38. DROP USER tLogin;
  39. DROP LOGIN tLogin;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement