¿Cómo obtengo la fecha y el ID de la fila?
Asumiendo que estas son columnas en su tabla ORDER llamadas DELIVERY_DATE e ID, su disparador debería verse así:
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;
Tenga en cuenta la cláusula FOR EACH ROW:que es necesaria para hacer referencia a valores de filas individuales. He usado una construcción IF para probar si ejecutar la ACTUALIZACIÓN en la entrega. Si no tiene otra lógica en su activador, puede escribirlo así...
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;
Respondí la pregunta que me hizo pero, aparte, señalaré que su modelo de datos no es óptimo. Un diseño correctamente normalizado mantendría DELIVERY_DATE en una sola tabla:DELIVERY parece el lugar lógico para ello.