1、AFTER(for)触发器 (操作后)
after触发器是指在操作成功后,所采取的一些动作!
比如:下面是我创建好的一个after触发器
creat trigger [dbo].[T_CaregoryDelete] --触发器的名字为T_CaregoryDelete on [dbo].[caregory] --是caregory类别表的触发器 after delete --after代表执行删除后执行as后边的语句 as begin delete news where caId=(select id from deleted) --激发触发器后我要执行的动作,其中deleted是一个系统默认临时表 end
2、instead of 触发器
对数据的操作只是一个“导火索”而已,真正起作用的是触发器里面的动作;往往这种触发器会有很多分支判断语句在里面,根据不用的条件做不同的动作!
INSTEAD OF 触发器用来代替通常的触发动作,即当对表进行INSERT、UPDATE 或 DELETE 操作时,系统不是直接对表执行这些操作,而是把操作内容交给触发器,让触发器检查所进行的操作是否正确。如正确才进行相应的操作。因此,INSTEAD OF 触发器的动作要早于表的约束处理。
真正起作用的是触发器里面的动作,接下来是对应触发器的代码
CREATE trigger [dbo].[T_CaregoryDelete] on [dbo].[caregory] instead of delete as begin delete news where caId=(select id from deleted) delete caregory where id=(select id from deleted) end
后记:
after触发器是在操作成功后,所采取的一些动作
而对于instead of触发器,真正起作用的是触发器里面的动作!