上の特定の列の値を変更する方法私は3つのテーブル カスケード
Company
Department
Cost-centers
を持っており、彼らは1対多の関係を持っています。私の会社のように複数の部門があるかもしれません。私の会社には、
is_active
という欄があります。
その列をアクティブから非アクティブに変更する場合、その特定の会社の関連部門は非アクティブ(削除されない)であり、特定の部門に関連付けられたコストセンターも非アクティブに変更する必要があります。
私はカスケード削除を使用していますが、削除したくありません。その特定の列をアクティブから非アクティブに更新したいだけです。同じように、それはCost_Centersを更新し、
if update(is_Active) begin
update Department set is_Active=i.is_Active
from Department as d inner join inserted as i
on d.CompanyID = i.ID
where d.CompanyID = i.ID and d.is_Active<>i.is_Active
end
と部門内の別のトリガー: