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

关于两个表互相更新字段的触发器的写法????
有两个表,表A有字段   公司ID(主键),公司名称,公司负责人,三个字段
                    表B有字段     公司ID,公司负责人,项目名称...
    要求:更新表A的公司负责人字段时,同时更新表B的公司负责人字段.
              更新表B的公司负责人字段时,同时更新表A的公司负责人字段.
  按一般的写法,写两个触发器的话,会引起死循环,求解决方法..


------解决方案--------------------
在A,B表中都加个标记字段。用它来判断是人为的更改还是触发器所触发的更改操作。。
例如加个type字段,默认值为1。1为人为的,0为触发器更改。
每次更改时判断type字段的值是不是1就行了。触发器更改对应表中数据同时,将type字段的值改为0。
------解决方案--------------------
http://blog.csdn.net/zjcxc/archive/2007/08/05/1726711.aspx
----
这边看一下你应该可以解决的
------解决方案--------------------


不会手工更新负责人的时候,顺手把TYPE更新为1么。

除此之外,还可以通过数据库设置,不允许触发器递归。
------解决方案--------------------
sp_dboption recursive triggers
sp_configure nested triggers
试下这两个开头,关于直接递归和间接递归的启用与禁用