如何实现插入数据时自动更新另外一个表的内容

Posted hao-1234-1234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现插入数据时自动更新另外一个表的内容相关的知识,希望对你有一定的参考价值。

 

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表示当该操作发生插入操作时后触发;

 

以上是关于如何实现插入数据时自动更新另外一个表的内容的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 中将一个表的数据插入另外一个表怎么做

SQL技巧两则:选择一个表的字段插入另一个表,根据其它表的字段更新本表内容

如何使用自动生成的标识密钥更新数据集父子表?

在oracle创建表的时候,如何定义字符型的列,在插入数据之后,自动将其转换成大写或小写?

(十万火急在线等)php mysql中数据插入A表时同步更新B表中数据用php如何实现?

向 SQLite 后端添加内容时更新表