Bagaimana cara mendapatkan id tanggal dan baris?
Dengan asumsi ini adalah kolom pada tabel ORDER Anda yang disebut DELIVERY_DATE dan ID pemicu Anda akan terlihat seperti ini:
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;
Perhatikan klausa FOR EACH ROW:yang diperlukan untuk mereferensikan nilai dari masing-masing baris. Saya telah menggunakan konstruk IF untuk menguji apakah akan menjalankan UPDATE saat Pengiriman. Jika Anda tidak memiliki logika lain di pemicu Anda, Anda bisa menulisnya seperti ini...
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;
Saya telah menjawab pertanyaan yang Anda ajukan, tetapi sebagai tambahan, saya akan menunjukkan bahwa model data Anda kurang optimal. Desain yang dinormalisasi dengan benar akan menahan DELIVERY_DATE hanya pada satu tabel:DELIVERY tampaknya merupakan tempat yang logis untuk itu.