如何实现插入数据时自动更新另外一个表的内容
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表示当该操作发生插入操作时后触发;
,
树立目标,保持活力,gogogo!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具