У меня есть следующие таблицы, показанные на картинке. Мне нужно создать триггер, который вставляет данные в таблицу AUDIT из таблицы PAYMENT, включая информацию о платеже, например: кто сделал платеж (pay_from), пользователь Oracle, который обработал платеж, идентификатор назначения (apt_id) и пациента, внесшего платеж (patient_id).
Из рисунка выше таблица ОПЛАТЫ имеет отношение к таблице НАЗНАЧЕНИЯ, которая, в свою очередь, имеет отношение к таблице ПАЦИЕНТ.
Мой вопрос: как я могу добавить «patient_id» из таблицы APPOINTMENT в таблицу AUDIT с помощью триггера? Это мой код:
CREATE OR REPLACE TRIGGER PAYMENT_AUDIT_TRIGGER
AFTER INSERT ON PAYMENT
FOR EACH ROW
BEGIN
INSERT
INTO AUDIT_LOG VALUES
(
AUDIT_LOG_AUDIT_ID_SEQ.NEXTVAL,
:new.PATIENT_ID,
:new.APT_ID,
USER,
SYSDATE,
:new.PAY_FROM
);
END;
Что случилось с запросом таблицы 'назначение'? У вас есть 'apt_id'. (Кстати, я думаю, вам нужно потерять тег 'sql-server'.) –