私は会計システムを構築しました.SQLテーブルでは、次の方法で金額と残高の2つの列があります。
ID 残高残高 101 20 100 102 20 80 103 10 70 104 30 40 105 25 15 106 5 10
そのような: Balance Left = previous Balance Left - Amount
.
ここで、ID が 103 の行を削除すると、後続のすべての行に金額 10 を追加する必要があります。それを行うための最良の方法は何ですか (SQL Server 2008 またはそれ以外で)?
PS :
各行を更新するトリガーを追加できることは承知していますが、より良い代替手段を探しています。
C# でコードします。
いくつかの質問と一般的な回答への回答: 1. 削除した行の下に 100 万行あることを考えると、LINQ を介して C# で実行する方がよいでしょうか? それとも SQL トリガーの方が速く動作しますか? 2. 各エントリの残高を保存するのはばかげていることはわかっていますが、DB/ソフトウェアのユーザーがそれを要求する方法です。