表记录的update实际上执行的是先delete后insert;
所以,如果要将触发器里面的sql代码提取出来可以单独执行的话,需要知道参数,可以把参数写成存储过程的参数,同时还需要留意触发器中的特定执行条件,比如说当update某个字段时才执行触发器,这个条件也要考虑到存储过程的sql逻辑中。
以上几点建议仅供参考。
--得到最后一行的IDdeclare @i int
select top 1 @i=序列号 from 表名 order by 自动ID排序 desc--倒序排
if @i is null
set @i=0
else if @i=6
set @i=0
set @i=@i+1
--下面就可以用插入语句了
insert into .......
目测你这个触发器, 是要递归了......你这个触发器是
ON dbo.TB_CharacterSub
AFTER UPDATE
也就是 当 UPDATE TB_CharacterSub 的时候, 触发。
但是你触发器代码里面, 又包含大量的 UPDATE TB_CharacterSub ......
如果你设置了 'recursive triggers' 参数为 false 的情况下, 那就没问题了。
就是不清楚, 你的 一个延时重复的命令 是指什么?
你是要触发器代码里面, 休眠个几秒这种的?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)