日期:2014-05-18  浏览次数:20618 次

关于MSSQL INSTEAD OF 触发器中断执行问题
关于MSSQL INSTEAD OF 触发器中断执行问题..
请注意:不是回滚..回滚是全部取消..我需要有一个执行..其他取消..

INSTEAD OF 触发器 会在所要更新数据的操作之前执行..

我想问的是..我执行完"INSTEAD OF 触发器"
用什么方式来停止后续的操作.. 

-----------------------------
已知:Trigger tr_A ON tbl_A INSTEAD OF Insert
已知:Trigger tr_B ON tbl_A For Insert
执行:Insert into tbl_A

想法步骤:
1)Insert tbl_A 触发 tr_A
2)有某语句执行中断
3)Insert into tbl_A和tr_B不执行

求解
第二步需要怎么做

------解决方案--------------------
第二步很简单,判断条件符合就插入,否则直接退出,大概

SQL code
create trigger Trigger tr_A ON tbl_A INSTEAD OF Insert
as
if exists (select 1 from inserted where col1 = 'a')
   return;

insert tbl_A select * from inserted

go