· 8 years ago · Apr 06, 2018, 07:34 AM
1-- Add trigger to prevent data changes
2CREATE TRIGGER [active].[myTriggerOfInfinitePower] ON [active].[mySpecialSparkleTable]
3FOR INSERT, UPDATE, DELETE AS
4BEGIN
5
6 -- Detect inserts
7 IF EXISTS (select * from inserted) AND NOT EXISTS (select * from deleted)
8 BEGIN
9 ROLLBACK TRANSACTION;
10 RAISERROR ('inserts are not allowed on that table', 15, 1);
11 RETURN;
12 END
13
14 -- Detect deletes
15 IF EXISTS (select * from deleted) AND NOT EXISTS (select * from inserted)
16 BEGIN
17 ROLLBACK TRANSACTION;
18 RAISERROR ('deletes are not allowed on that table', 15, 1);
19 RETURN;
20 END
21
22 -- Detect updates
23 IF EXISTS (select * from inserted) AND EXISTS (select * from deleted)
24 BEGIN
25 ROLLBACK TRANSACTION;
26 RAISERROR ('updates are not allowed on that table', 15, 1);
27 RETURN;
28 END
29
30END;
31GO