我需要在触发器上重建以下部分:
{ FOR | AFTER | INSTEAD OF }
因此,如果触发器具有“instead of
”,则它可以是0或1:
SELECT
is_instead_of_trigger
FROM sys.triggers
Where object_id = Object_Id ('')
如果特定触发器有for
或after
?
答案 0 :(得分:1)
我相信之后的和的是相同的。
它代替,而is_instead_of_trigger将有1作为值。或(FOR | AFTER)为0。
FOR |后 AFTER指定只有在触发SQL语句中指定的所有操作都已成功执行时才会触发DML触发器。在此触发器触发之前,所有参考级联操作和约束检查也必须成功。 当FOR是唯一指定的关键字时,AFTER是默认值。 无法在视图上定义AFTER触发器。
答案 1 :(得分:1)
有两种类型的触发器,
Instead Of
触发的触发而不是触发操作After or For
触发操作后触发的触发器。目录视图sys.triggers
的列is_instead_of_trigger
将告诉您是否为“是否触发”,如果值0
则为For or After Trigger
,如果为值{{ 1}}然后它是1