L4mbert 2017-03-21 07:09 采纳率: 100%
浏览 777
已采纳

关于mysql触发器的问题

现在我经常会调用delete from A where state='500';这条命令
然后在A表创建一个触发器,在'delete'之前,执行插入数据,把要删除的数据插入另一个表中。这可行吗?要怎么实现?
还有什么更好的方法可以实现?

刚学数据库,不太会,可能描述不清楚,谢谢各位大牛抽出时间解答。

  • 写回答

5条回答 默认 最新

  • Derica88 2017-03-21 07:35
    关注

    一条 或 多条触发

    create trigger [A_delete]
    on [dbo].[A]
    for delete
    as

    begin distributed transaction
    SET XACT_ABORT on

    IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted)
    BEGIN

        Insert into B (字段名) 
        select 字段名 from inserted order by ID asc;
    

    end
    commit tran

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 arbotix没有/cmd_vel话题
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀
  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用