【发布时间】:2016-10-18 00:10:50
【问题描述】:
图片中显示了以下表格。我需要创建一个触发器,将数据从 PAYMENT 表插入到 AUDIT 表中,包括有关付款的信息,例如付款人 (pay_from)、处理付款的 Oracle 用户、约会 ID (apt_id) 和付款的患者(患者 ID)。
从上图中可以看出,PAYMENT 表与 APPOINTMENT 表有关系,而 APPOINTMENT 表又与 PATIENT 表有关系。
我的问题是,如何使用触发器将 APPOINTMENT 表中的“patient_id”添加到我的 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;
【问题讨论】:
-
只查询
appointment表有什么问题?你有apt_id。 (顺便说一句,我认为您需要丢失sql-server标签。)