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条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?