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 用三极管设计一个单管共射放大电路
  • ¥20 fluent无法启动
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架