设在SQL Server 2008中有如下定义触发器的语句: CREATE TRIGGER tri ON T1 INSTEAD OF INSERT AS…… 下列关于该触发器执行机制的说法,正确的是( )。

admin2021-06-28  27

问题 设在SQL Server 2008中有如下定义触发器的语句:
    CREATE TRIGGER tri ON T1 INSTEAD OF INSERT AS……
    下列关于该触发器执行机制的说法,正确的是(    )。

选项 A、当在T1表上执行INSERT操作时,先执行INSERT操作,然后再执行tri触发器
B、当在T1表上执行INSERT操作时,只执行tri触发器,而不实际执行INSERT操作
C、当在T1表上执行INSERT操作时,先执行tri触发器,然后再实际执行INSERT操作
D、当在T1表上执行INSERT操作时,先执行INSERT操作,如果操作正确,则无需执行tri触发器

答案B

解析 使用FOR或者AFTER选项定义的触发器为后触发的触发器,即只有当引发触发器执行的语句中的操作都已成功执行,并且所有的约束检查也成功完成后,才执行该触发器。使用INSTEAD OF选项定义的触发器为前触发器。在这种模式的触发器中,指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代触发的操作。
    因此,可知本题中属于前触发器,即只执行tri触发器,而不实际执行INSERT操作。故答案为B项。
转载请注明原文地址:https://jikaoti.com/ti/CM37FFFM
0

最新回复(0)