تریگرها نوع خاصی از رویه های ذخیره شده هستند که در هنگام تغییر داده های جدول برای محافظت از طراحی بانک اطلاعاتی فعال میشوند و از ورود داده های نامعتبر جلوگیری میکنند . هر جدول میتواند 3 نوع Trigger داشته باشد .
1 - تریگر در هنگام اضافه کردن رکورد ( Insert )
2 - تریگر در هنگام به روزرسانی رکورد ( Update )
3 - تریگر در هنگام حذف رکورد ( Delete )
Trigger زیر از درج رکورد با کد صفر جلوگیری می کند .
کد:create trigger ZeroCode
on Student
for insert,update as
if exists(select id from inserted where id=0)
begin
raiserror('کد صفر قابل قبول نیست',11,1)
rollback transaction
end
برای اجرای Trigger بالا یک سطر رکرد به جدولی با نام Student و چهار فیلد اضافه میکنیم .
کد:insert into student (id,name,family,address)values('0','Ali','Ahmadi','Tehran')
در صورت اجرا سیستم پیغامی مبنی بر این که نمیتواند اطلاعات با کد صفر را درج کند نمایش میدهد .