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

update触发器触发次数
CREATE TABLE c(a INT ,b int)

INSERT c VALUES(1,2)

CREATE TRIGGER aa
ON c
FOR UPDATE
AS

update c SET b=2

////////////////////////执行
UPDATE c SET b=3


(1 行受影响)

(1 行受影响)


这个好像没有导致是死循环哦 update触发器只会 被触发一次么

------解决方案--------------------
没有启用递归触发器,如启用就死循环,超出触发器最大嵌套层数....
------解决方案--------------------
这个问题一般在前端程序或存储过程中加个判断即可,取消触发器.
SQL code

-- @b为传入参数
declare @x int
select @x=case when @b=2 then 2 else 2 end
update c set b=@x