Sử dụng trigger để ràng buộc toàn vẹn dữ liệu
Ví dụ: Khi xóa hay thay đổi MSGV trong bảng GIAOVIEN_HD, nếu giáo viên đó là chủ tịch hội đồng thì báo lỗi kết thúc.
Create Trigger trg_XoaHoiDongGV On HoiDong_GV
For Delete, Update
As
If Exists(Select 1 From HoiDong a, Deleted b
Where a.MSHD = b.MSHD And a.MSGVCTHD = b.MSGV)
Begin
Raiserror('Khong xoa hay thay doi giao vien CTHD',16,1)
RollBack Tran
End
Kiểm tra trigger:
Delete From HoiDong_GV Where MsHD = 1 And MsGV = 1
Go
Update HoiDong_GV Set MSGV = 5 From HoiDong_GV a, HoiDong b
Where a.MSHD = b.MSHD And a.MSGV = b.MSGVCTHD And b.MSHD = 1