日付と行IDを取得するにはどうすればよいですか?
これらがDELIVERY_DATEおよびIDというORDERテーブルの列であるとすると、トリガーは次のようになります。
CREATE OR REPLACE TRIGGER your_trigger_name
BEFORE UPDATE ON Order
FOR EACH ROW
BEGIN
if :new.delivery_date != :old.delivery_date
then
UPDATE Delivery d
set d.delivery_date = :new.delivery_date
where d.order_id = :new.id;
end if;
END;
FOREACHROW句に注意してください。これは個々の行の値を参照するために必要です。 IF構造を使用して、配信時にUPDATEを実行するかどうかをテストしました。トリガーに他のロジックがない場合は、次のように記述できます...
CREATE OR REPLACE TRIGGER your_trigger_name
BEFORE UPDATE OF delivery_date ON Order
FOR EACH ROW
BEGIN
UPDATE Delivery d
set d.delivery_date = :new.delivery_date
where d.order_id = :new.id;
END;
私はあなたが尋ねた質問に答えましたが、余談ですが、あなたのデータモデルは最適ではないことを指摘します。適切に正規化された設計では、1つのテーブルにのみDELIVERY_DATEが保持されます。DELIVERYはその論理的な場所のようです。