1、insert触发器
create trigger book1_trigger1
on book1
for insert
as
print '数据插入成功'
go
注意:定义触发器时,指定是FOR选项,因此AFTER是默认设置。此时,触发器只有在触发SQL语句的insert中指定的所有操作都已成功执行后才能激发。
2、instead of触发器
create trigger book1_trigger2
on book1
instead of delete
as
print '数据删除不成功'
go
注意:当执行delete操作时触发器被触发,且要求触发器的DELETE语句在执行后被取消,即删除不成功。
3、update触发器
create trigger book1_trigger3
on book1
for update
as
if update(定价)
begin
rollback transaction
end
注意:当特定列被更新时触发触发器,而不管更新影响的是表中的一行还是多行。
4、delete触发器
create trigger book1_trigger4
on book1
for delete
as
begin
raiserror('Unauthorized1',10,1)
rollback transaction
end
注意:该触发器将对book1表中删除记录的操作给出提示信息,并取消当前的删除操作。
5、查看表上的所有触发器信息
exec sp_helptrigger book1
6、禁止和启动触发器
alter table table_name enable|disable trigger {all|trigger_name}
create trigger book1_trigger1
on book1
for insert
as
print '数据插入成功'
go
注意:定义触发器时,指定是FOR选项,因此AFTER是默认设置。此时,触发器只有在触发SQL语句的insert中指定的所有操作都已成功执行后才能激发。
2、instead of触发器
create trigger book1_trigger2
on book1
instead of delete
as
print '数据删除不成功'
go
注意:当执行delete操作时触发器被触发,且要求触发器的DELETE语句在执行后被取消,即删除不成功。
3、update触发器
create trigger book1_trigger3
on book1
for update
as
if update(定价)
begin
rollback transaction
end
注意:当特定列被更新时触发触发器,而不管更新影响的是表中的一行还是多行。
4、delete触发器
create trigger book1_trigger4
on book1
for delete
as
begin
raiserror('Unauthorized1',10,1)
rollback transaction
end
注意:该触发器将对book1表中删除记录的操作给出提示信息,并取消当前的删除操作。
5、查看表上的所有触发器信息
exec sp_helptrigger book1
6、禁止和启动触发器
alter table table_name enable|disable trigger {all|trigger_name}