cherish1forever 2015-03-25 03:55 采纳率: 50%
浏览 2206
已采纳

sybase 数据库 删除触发器 一次删除多条记录,触发器为什么只执行一次。

Table1 id,name 
                1,‘AA’
                2,‘BB’
                3,‘BB’
                4,‘BB’

Table2     rq,     tlb_name , value
            '2015/02/25','Table1' , 'id=1'

触发器:
create trigger TR_DEL_Table1
on Table1
for delete as

declare @IDtmp int
declare @ID varchar
select @bucodetmp=(select id from deleted)
set @ID=CONVERT(varchar(10),@IDtmp)
begin
insert into Table2(rq,tblname,value )
values(getdate(),'Table1','id='+@ID)
end

若执行delete from Table1 where name='BB',Table2表中只能插入一条删除的记录。
我想要的效果是插入3条,分别是id=2,id=3,id=4的这3条记录。

怎么实现呢?

  • 写回答

1条回答 默认 最新

  • Tiger_Zhao 2015-03-25 05:17
    关注

    deleted中有不止一条记录啊。你要么循环处理,要么用 insert into Table2 ... select ... from deleted 批量插入。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备