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

sqlserver2005中嵌套触发器无法执行的问题!!!急等!!!
有三个表,基本表,附表1,附表2 ,三个表中都有部分相同字段,其中基本表和附表1都有一个(RET_TYPE)字段。
功能需求:
1、基本表每增加一条记录,附表1也相应同时增加一条;
如果基本表新增记录中字段(RET_TYPE)为‘AAA’时,除了在附表1中增加新记录外,同时在附表2中也增加一条记录;(属于两级嵌套触发)
2、单独为附表1新增记录时,如果附表1的(RET_TYPE)为‘AAA’时,同时也在附表2中新增一条记录;

我设计了以下触发器:
1、为基本表创建了一个insert触发器
2、为附表1创建了一个insert触发器

实际表现为:
1、增加基本表记录时,附表1可以成功同时增加一条记录;
2、增加附表1记录,且RET_TYPE=“AAA”时,附表2也可以同时新增一条记录;

问题出在:
如果基本表增加的新纪录中的RET_TYPE=“AAA”时,系统只在附表1中增加了新记录,而没有在附表2中新增记录!嵌套触发器没有执行!!!


我反复试验和检查过了,
Insert触发器本身无误(语句很简单,就不贴出来了),对单级触发都没问题;
SqlServer本身也允许嵌套触发器执行的(用exec sp_configure 'nested triggers',1 重新设置过);
但问题就是无法解决,已经折腾了一天一夜了,所以请教各位老大!!!


------解决方案--------------------
exec sp_configure 'nested triggers',1
RECONFIGURE WITH OVERRIDE 
GO

加RECONFIGURE WITH OVERRIDE 
否则要重启服务器才生效