今天有个业务需求,要求在a表中添加delete的触发器,执行delete时,往b表中添加a表所删除的id 等字段
遇到问题

使用正常的 delete触发器,删除单条数据没有问题,但是一次性删除多条,触发器也只会执行一次
往b表里边,添加一条数据
解决方案
在触发器中添加遍历,遍历临时表,逐一添加到B表中,以下sql参考文末来源
BEGIN
-- 声明一个64位长度的变量 用来存储删除表的id
DECLARE @id varchar(64)
-- @id=min(id) 获取临时表中id列中最小的值
select @id=min(id

在SQL中为a表创建delete触发器,以在删除记录时将信息存入b表。当一次性删除多条数据时,原本的触发器只会执行一次。为了解决这个问题,可以在触发器内部实现对临时表的遍历,逐条将数据插入到b表,从而确保每条被删除的记录都被正确记录。
最低0.47元/天 解锁文章
743

被折叠的 条评论
为什么被折叠?



