请问在sqlserver中什么是前触发型触发器,什么是后触发型触发器,怎么...
发布网友
发布时间:2022-04-27 04:26
我来回答
共9个回答
热心网友
时间:2022-04-07 20:18
前触发器:指在执行INSERT,UPDATE,DELETE之前去触发【触发器】要执行的语句
后触发器:指在执行INSERT,UPDATE,DELETE之后再去触发【触发器】要执行的语句。
比如一个update触发器,要执行删除操作。
那么有两种情况,第一先update在delete(后触发器)
第二先delete在update(前触发器)
热心网友
时间:2022-04-07 21:36
前触发型,就是数据库变化之前,先执行触发动作,接着执行原操作;
后触发型,就是数据库变化之后,接着执行触发动作。
热心网友
时间:2022-04-07 23:11
after触发器(事后触发)
insert触发器、update触发器、 delete触发器
instead of 触发器 (事前触发)
after触发器要求只有执行某一操作 insert、update、delete之后触发器才被触发,且只能定义在表上。而 instead of触发器表示并不执行其定义的操作(insert、update、delete)而仅是执行触发器本身。既可以在表上定义instead of触发器,也可以在视图上定义。
热心网友
时间:2022-04-08 01:02
前触发器(Instead Of Trigger)就是在语句执行之前激活触发器
后触发器(After Trigger)就是在语句执行之后激活触发器
热心网友
时间:2022-04-08 03:10
简单说就是在DML操作前还是后执行触发器
创建时候
instead for --后
instead of--前
热心网友
时间:2022-04-08 05:35
前触发器:就是操作前触发操作
后触发器:就是操作后触发相关操作
只有DDL触发器采用 before after
表触发器没有before触发器
DDL触发器,请参阅
表触发器-请参阅
请采纳!
热心网友
时间:2022-04-08 08:16
功盖三分国,名成八阵图。
热心网友
时间:2022-04-08 11:14
有关键字,可参考:
SqlServer基础之(触发器)
热心网友
时间:2022-04-08 14:29
Create trigger T_1
On TableName
for <after> insert
as
begin
程序块
end
这个是后触发型的,after关键字在这里加或者不加是一样的效果,不加的话,默认值也是after。
这种触发器的意思是,当用户做了一个插入动作以后,触发器先捕捉到这个动作,然后在其完成插入以后,再执行【程序块】这部分的语句。
Create trigger T_2
On TableName
INSTEAD OF insert
as
begin
程序块
end
这种是前触发型的,与上面得区别是,当用户执行一个插入动作时,触发器捕捉到这个动作,但是并不允许动作执行,而直接执行【程序块】中的代码。
比如
Create trigger T_2
On aaa
INSTEAD OF insert
as
begin
select 1
end
用了这个触发器以后,那向aaa表插入数据的时候,不管怎么插入数据,那数据都不会被插入到数据库,而且只会返回一个1。
楼主可以自己试试