zoukankan      html  css  js  c++  java
  • 如何实现插入数据时自动更新另外一个表的内容

    1事务:在程序中,将插入代码和更新代码包裹在一个事务里,失败后回滚,保证同时成功同时失败。

    2存储过程:在数据库写存储过程,存储过程里面代码包裹在事务里,失败后回滚。

    3触发器:

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER TRIGGER [dbo].[tri_test] ON [dbo].[销售情况信息]
        AFTER INSERT
    AS
        BEGIN
            UPDATE  dbo.库存基本信息
            SET     商品现存数量 = 商品现存数量 - inserted.销售数量
    		FROM    库存基本信息,inserted
            WHERE	库存基本信息.仓库号 = inserted.仓库号
        END
    

    代码说明:数据库中update 操作实际是两种操作组合完成的:inserted 和 delete, 分别有两张表 insert 和delete 表, 更新就是将原有的数据移入delete表,将新数据移入inserted表。 为 [dbo].[销售情况信息] 表创建了insert触发器tri_test,after表示当该操作发生插入操作时后触发;

  • 相关阅读:
    AES-GCM算法
    Linux Curl命令
    OpenLDAP
    网络性能测试
    LoadRunner
    XSLT
    dtruss
    删除重复图片
    2018年部门管理的一点总结
    矢量地图方案的进一步探讨
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/11044591.html
Copyright © 2011-2022 走看看