有两个表,表A有字段 公司ID(主键),公司名称,公司负责人,三个字段
表B有字段 公司ID,公司负责人,项目名称...
要求:更新表A的公司负责人字段时,同时更新表B的公司负责人字段.
更新表B的公司负责人字段时,同时更新表A的公司负责人字段.
按一般的写法,写两个触发器的话,会引起死循环,求解决方法..
表B有字段 公司ID,公司负责人,项目名称...
要求:更新表A的公司负责人字段时,同时更新表B的公司负责人字段.
更新表B的公司负责人字段时,同时更新表A的公司负责人字段.
按一般的写法,写两个触发器的话,会引起死循环,求解决方法..
例如加个type字段,默认值为1。1为人为的,0为触发器更改。
每次更改时判断type字段的值是不是1就行了。触发器更改对应表中数据同时,将type字段的值改为0。
=================
按照你这种方法,就只能在只更新数据一次的情况下实现啊,如果想再次更新的话,不会执行
当更改表A的公司负责人时,触发器1 update 表B set 表B.公司负责人=inserted.公司负责人,表B.type=0 from inserted where 表B.ID=inserted.id and 表B.TYPE=1
表B的type=0,
同样在更改表B的公司负责人时, 触发器2,update 表A set 表A.公司负责人=inserted.公司负责人,表A.type=0 from inserted where 表A.ID=inserted.id and 表A.TYPE=1
结果是表A和表B的type都变为0
下次我在更新这条数据时,触发器不再执行.
----
这边看一下你应该可以解决的
sp_configure nested triggers
试下这两个开头,关于直接递归和间接递归的启用与禁用