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表示當該操作發生插入操作時后觸發;
,