У меня возникла эта ошибка и я не знаю, как исправить ошибку. Пожалуйста, помогите мне.Базовая таблица аудита Oracle Trigger
Ошибка (8,11): PL/SQL: SQL-Заявление проигнорировано
Ошибка (10,26): PL/SQL: ORA-00904: "NEWRETAILPRICE": неверный идентификатор
Ошибка (17 , 8): PL/SQL: SQL-Заявление проигнорировано
Ошибка (19,57): PL/SQL: ORA-00904: "NEWRETAILPRICE": неверный идентификатор
Ошибка (25,6): PL/SQL : SQL Statement игнорируется
Ошибка (27,26): PL/SQL: ORA-00904: "OLDRETAILPRICE": недопустимый идентификатор
Мой код
CREATE OR REPLACE TRIGGER product_audit
BEFORE INSERT OR DELETE OR UPDATE ON DD_Products
FOR EACH ROW
DECLARE
Var_ChangeType CHAR(1);
BEGIN
IF INSERTING THEN
VAR_ChangeType := 'I';
INSERT INTO DD_PriceChange
(PriceChangeNo, Change_Type, ChangeBy, ChangeDate,
NewProductPrice,NewRetailPrice)
VALUES (ProductHistory_SEQ.NEXTVAL, VAR_ChangeType, USER, SYSDATE,
:NEW.ProductPrice, :NEW.RetailPrice);
ELSIF UPDATING THEN
VAR_ChangeType := 'U';
INSERT INTO DD_PriceChange
(PriceChangeNo, Change_Type, ChangeBy, ChangeDate,
OldProductPrice,OldRetailPrice,NewProductPrice,NewRetailPrice)
VALUES (ProductHistory_SEQ.NEXTVAL, VAR_ChangeType, USER, SYSDATE,
:OLD.ProductPrice, :OLD.RetailPrice,:NEW.ProductPrice, :NEW.RetailPrice);
ELSE
VAR_ChangeType := 'D';
INSERT INTO DD_PriceChange
(PriceChangeNo, Change_Type, ChangeBy, ChangeDate,
OldProductPrice,OldRetailPrice)
VALUES (ProductHistory_SEQ.NEXTVAL, VAR_ChangeType, USER, SYSDATE,
:OLD.ProductPrice, :OLD.RetailPrice);
END IF;
END;
/
Я создал таблицу, как этот
Create table DD_PriceChange
(
PriceChangeNo NUMBER(5) PRIMARY KEY,
Change_Type CHAR(1),
ChangeBy VARCHAR2(20),
ChangeDate DATE,
OldProductPrice NUMBER(5),
NewProductPrice NUMBER(5),
OldRetailPrice NUMBER(5),
NewRetailPrice NUMBER(5)
);
и
CREATE SEQUENCE ProductHistory_SEQ;
Кто-нибудь знает, почему я получаю эту ошибку, пожалуйста.