-
Notifications
You must be signed in to change notification settings - Fork 0
/
vd_trigger
39 lines (36 loc) · 1.27 KB
/
vd_trigger
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
--- ví dụ trigger: giả sử có 3 bảng sinhvien, ketqua, monhoc không có ràng buộc khóa ngoại muốn thay đổi masv của bảng sinhvien thì masv của ketqua cũng sẽ thay đổi
---- create trigger ten_trigger
---- on sinhvien
---- after update
---- as
---- begin
------ update ketqua
------ set masv = select masv from inserted
------ where masv = select masv from deleted
---- end
--- chạy trigger
--- update sinhvien
--- set masv = 100
--- where masv = 1
--- ví dụ trigger: giả sử có 3 bảng sinhvien, ketqua, monhoc có ràng buộc khóa ngoại muốn thay đổi masv của bảng sinhvien thì masv của ketqua cũng sẽ thay đổi
--- create trigger ten_trigger
--- on sinhvien
--- instead of update
--- as
--- begin
------ alter table ketqua
------ nocheck constraint all
------ => câu lệnh tắt check ràng buộc
------ update ketqua
------ set masv = select masv from inserted
------ where masv = select masv from deleted
------ update sinhvien
------ set masv = select masv from inserted
------ where masv = select masv from deleted
------ alter table ketqua
------ check constraint all
------ => khôi phục check ràng buộc
--- chạy trigger
--- update sinhvien
--- set masv = 100
--- where masv = 1