初めてデータベース トリガーを作成します。コスト列が更新されたときに、変更を反映するために親テーブルもコスト列を更新する必要がある子テーブルがあります。
これまでの私の残念な試みは次のとおりです。それは明らかに機能していません。総コストを変数として抽出し、それを親テーブルに格納する方法を理解するのに問題があります。
私の現在のアプローチでは、現時点では静的 ID 値を想定しています。更新された行の id 値を動的に決定する方法が完全にはわかりません。
CREATE TRIGGER ParentCost_Update
ON ChildTable
AFTER INSERT, UPDATE
AS
SELECT SUM(Cost) AS TotalCost FROM ChildTable where parent_id=2080
UPDATE ParentTable
SET Cost=TotalCost
where id=parent_id;
GO
この現在のスクリプトはエラーを返しています
メッセージ 207、レベル 16、状態 1、プロシージャ ParentCost_Update、行 9 列名 'TotalCost' が無効です。