我有一个带有 MasterDetail 表单的 Oracle 顶级应用程序。我需要为表单的详细信息部分做一个 BeforeInsert 触发器。我需要用另一个表(AHAR_PARTSLABOR)中的数据填充 BEFOREINSERT_CHARGES 的字段这是我到目前为止所拥有的,但它一直给我一个消息错误:
ORA-04082: 表级触发器中不允许使用 NEW 或 OLD 引用。
CREATE OR REPLACE Trigger BEFOREINSERT_CHARGES
BEFORE INSERT
On AHAR_REPAIRORDER_CHARGES
--DECLARAR VARIABLES
--T_CHARGES_TYPE IN CHAR(11);
--T_CHARGES_PRICE IN NUMBER;
--T_CHARGES_DISCOUNT IN NUMBER;
--VALIDAR QUE EL CHAR_CODE INGRESADO POR EL USUARIO EXISTA
BEGIN
--SELECT PARA PASAR LOS VALORES DE PARTSLABOR A CHARGES
SELECT (PARTLABOR_TYPE, PARTLABOR_PRICE, PARTLABOR_DISCOUNT)
INTO (:NEW.CHARGES_TYPE, :NEW.CHARGES_PRICE, :NEW.HARGES_DISCOUNT)
FROM AHAR_PARTSLABOR
WHERE :NEW.CHARGE_CODE = PARTLABOR_ID;
END;