SQL怎么在存储过程或触发器中使用循环语句

SQL怎么在存储过程或触发器中使用循环语句,第1张

这个触发是更新的时候 *** 作;

表记录的update实际上执行的是先delete后insert;

所以,如果要将触发器里面的sql代码提取出来可以单独执行的话,需要知道参数,可以把参数写成存储过程的参数,同时还需要留意触发器中的特定执行条件,比如说当update某个字段时才执行触发器,这个条件也要考虑到存储过程的sql逻辑中。

以上几点建议仅供参考。

--得到最后一行的ID

declare @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 的情况下, 那就没问题了。

就是不清楚, 你的 一个延时重复的命令 是指什么?

你是要触发器代码里面, 休眠个几秒这种的?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11889020.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存