Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SET NOCOUNT ON;
- USE tempdb;
- IF OBJECT_ID('dbo.t') IS NOT NULL
- BEGIN
- DROP TRIGGER t_trig;
- DROP TABLE dbo.t;
- END
- GO
- CREATE TABLE dbo.t
- (
- ID INT NOT NULL
- , ID2 INT NULL
- );
- GO
- CREATE TRIGGER t_trig ON dbo.t
- WITH EXECUTE AS OWNER
- AFTER INSERT
- AS
- BEGIN
- UPDATE dbo.t
- SET ID2 = ID
- WHERE EXISTS (SELECT 1 FROM inserted i WHERE i.ID = dbo.t.ID);
- END
- GO
- CREATE LOGIN tLogin WITH PASSWORD = 'QWERFsdf23454%';
- CREATE USER tLogin FROM LOGIN tLogin WITH DEFAULT_SCHEMA = dbo;
- GRANT INSERT ON dbo.t TO tLogin;
- DENY UPDATE ON dbo.t TO tLogin;
- EXECUTE AS USER = 'tLogin';
- SELECT SUSER_SNAME();
- INSERT INTO dbo.t(ID) VALUES (1);
- REVERT
- SELECT *
- FROM dbo.t;
- DROP USER tLogin;
- DROP LOGIN tLogin;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement