初めてトリガーを作成しようとしています。同じテーブル内の別のフィールドが修正されたら、テーブル (Opps) の複数のフィールドを更新したいと思います。トリガーが最善の方法であるかどうかはわかりませんが、そうだと思います。更新するフィールドは (currStage) と (stageDate) で、2 番目のフィールドは元のフィールド (Stage) が修正された日付です。それは理にかなっていますか?
私は今迷っているので、どんな助けでも大歓迎です。
初めてトリガーを作成しようとしています。同じテーブル内の別のフィールドが修正されたら、テーブル (Opps) の複数のフィールドを更新したいと思います。トリガーが最善の方法であるかどうかはわかりませんが、そうだと思います。更新するフィールドは (currStage) と (stageDate) で、2 番目のフィールドは元のフィールド (Stage) が修正された日付です。それは理にかなっていますか?
私は今迷っているので、どんな助けでも大歓迎です。
人には独特のビジネス ニーズがある場合があり、あなたはそのような状況にあるように思えます。
AFTER INSERT トリガーを使用して、フィールドを新しい値で更新できます。トリガーが起動すると、UPDATE/SET/WHERE を実行できます
CREATE TRIGGER update_stages_MyTable
ON MyTable
AFTER INSERT
BEGIN
UPDATE MyTable
SET currStage = 'whatever value I want', stageDate = getdate()
WHERE Stage = 'the stage Ijust updated'
END;
これが理にかなっていて、あなたのビジネスニーズを満たしているかどうか教えてください.
API を使用し、UPDATE、INSERT、および DELETE 用のストアド プロシージャを作成する方がよいと思います。そして更新は、UPDATE プロシージャを使用して他のテーブルを更新します。トリガーを使いすぎるのは良い習慣ではありません。API とトリガー アプローチの比較については、こちらを確認してください