如何在存储过程或触发器里 临时禁用触发器的嵌套?
如题
谢谢
问题点数:20、回复次数:5Top
1 楼wgsasd311(自强不息)回复于 2005-08-20 15:50:09 得分 1
我也想知道。帮你顶Top
2 楼vivianfdlpw()回复于 2005-08-20 16:08:40 得分 0
嵌套触发器
触发器最多可以嵌套 32 层。如果一个触发器更改了包含另一个触发器的表,则第二个触发器将激活,然后该触发器可以再调用第三个触发器,依此类推。如果链中任意一个触发器引发了无限循环,则会超出嵌套级限制,从而导致取消触发器。若要禁用嵌套触发器,请用 sp_configure 将 nested triggers 选项设置为 0(关闭)。默认配置允许嵌套触发器。如果嵌套触发器是关闭的,则也将禁用递归触发器,与 sp_dboption 的 recursive triggers 设置无关。
Top
3 楼vivianfdlpw()回复于 2005-08-20 16:11:21 得分 0
create procedure p
as
exec sp_configure 'nested triggers','0'
reconfigure with override
go
--调用
exec pTop
4 楼rzpc(淡蓝色)回复于 2005-08-20 16:25:16 得分 0
怪我没说明白
我的目的是这样的:
-- 触发器(或存储过程)开始
... 一些语句
-- 在这里要临时禁止触发器的嵌套,但不要禁止其它正在执行任务的嵌套
...一些语句
-- 解除嵌套的阻止
-- 触发器(或存储过程)结束
我的想法能实现吗?Top
5 楼vivianfdlpw()回复于 2005-08-20 16:28:07 得分 19
只能针对所有表Top




