首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

同一张表上的insert、update触发器能合并吗,如果可以,如何合并

2013-12-13 
同一张表上的insert、update触发器能合并吗,如果可以,怎么合并?如题create trigger tr_insert_BOMMCon BOMM

同一张表上的insert、update触发器能合并吗,如果可以,怎么合并?
如题


create trigger tr_insert_BOMMC
on BOMMC
after insert
as
set xact_abort on
insert BF_DATA..BOMMC(
MC001,
MC002,
MC003,
MC004
)
select * from inserted
go 


create trigger tr_update_BOMMD
on BOMMD
after update
as
update BF_DATA..BOMMD
set
MD001=A.MD001,
MD002=A.MD002,
MD003=A.MD003,
MD004=A.MD004
from BF_DATA..BOMMD as B,
inserted as A where B.MD001=A.MD001 and B.MD002=A.MD002

[解决办法]
好像一开始是,插入的时候,给自动 补全其他的字段,这个是可以的,通过update来实现。

但是如果这个时候,更新了相关的字段,那么也必须要通过这个触发器,来自动的更新数据对吧,
这样会导致问题,这个update时,不能通过 在update触发器中,执行update语句来实现,因为这个引起递归触发器。

也就是update触发器中的update语句,又触发了update触发器,然后就是一个死循环,最后会报错。

热点排行