1. 程式人生 > >【2018-01-19】Sql Server-觸發器

【2018-01-19】Sql Server-觸發器

1-1 觸發器 eight sco 不能 val ted 直接 ins

 1 --create table users--創建用戶表
 2 --(
 3 --    ids int primary key identity(1,1),
 4 --    name nvarchar(200),--姓名
 5 --    class nvarchar(200)--班級編號
 6 --)
 7 
 8 --create table class--創建班級表
 9 --(
10 --    classCode nvarchar(200) primary key,--班級編號
11 --    className nvarchar(200),--班級名字
12 --)
13 
14 ----插入班級表數據
15 --insert into class values(‘c001‘,‘一班‘); 16 --insert into class values(‘c002‘,‘二班‘); 17 --insert into class values(‘c003‘,‘三班‘); 18 --insert into class values(‘c004‘,‘四班‘); 19 --insert into class values(‘c005‘,‘五班‘); 20 ----插入用戶表數據 21 --insert into users values(‘張一‘,‘c001‘); 22 --insert into users values(‘張二‘,‘c002‘);
23 --insert into users values(‘張三‘,‘c003‘); 24 --insert into users values(‘張四‘,‘c004‘); 25 --insert into users values(‘張五‘,‘c005‘); 26 27 --select * from users; 28 --select * from class; 29 30 ----觸發器 31 ----(一個特殊的存儲過程,沒辦法直接調用它,而是通過增刪改的動作來觸發它 32 ----一個表的一個動作只能有一個觸發器) 33 create trigger users_Delete 34 on
users 35 for delete--執行delete操作觸發,然後執行以下操作 36 as 37 select * from users 38 39 40 create trigger users_Insert 41 on users 42 for insert--執行insert操作觸發,然後執行一下操作 43 as 44 select * from users 45 46 create trigger users_Delete 47 on users 48 instead of delete--執行delete操作時,不執行次操作,並用以下操作代替 49 as 50 select * from users 51 52 create trigger users_Delete 53 on users 54 instead of delete 55 as 56 select * from deleted--查詢刪除的數據 57 58 59 create trigger users_Delete 60 on users 61 instead of delete 62 as 63 declare @a nvarchar(100) 64 select @a=ids from deleted 65 if @a=2 66 begin 67 select 太醜了,不能刪! 68 end 69 else 70 begin 71 delete from users where ids=@a 72 end 73 74 delete from users where ids=2 75 76 77 78 ----級聯刪除 79 create trigger class_delete 80 on class 81 instead of delete 82 as 83 declare @a nvarchar(200); 84 select @a=classCode from deleted; 85 delete from users where class=@a; 86 delete from class where classCode=@a; 87 88 delete from class where classcode=c001;

【2018-01-19】Sql Server-觸發器