触发器未按预期工作并出现编译错误
错误(7,11):PLS-00201:必须声明标识符'NA.TITLE_ID'
这是我的触发器
CREATE OR REPLACE TRIGGER is_title_available
BEFORE INSERT ON rental
REFERENCING OLD AS o NEW AS na
FOR EACH ROW
WHEN (na.TITLE_ID > 0)
DECLARE
isavailable boolean;
temp number;
title_not_available EXCEPTION;
BEGIN
temp :=na.TITLE_ID;
if(TITLE_AVAILABLE(temp)) then
dbms_output.put_line('title available rent entry inserted');
else
raise title_not_available;
end if;
END;
这是我的表架构
CREATE TAble rental(
BOOK_DATE date DEFAULT sysdate primary key,
MEMBER_ID int,
COPY_ID int ,
TITLE_ID int,
ACT_RET_DATE date,
EXPIRY_RET_DATE date DEFAULT sysdate+2
);
ALTER TABLE rental
ADD CONSTRAINT fk_member_rental
FOREIGN KEY (MEMBER_ID)
REFERENCES MEMBER(MEMBER_ID);
答案 0 :(得分:2)
请尝试以下方式
:na.Title_ID
您需要使用':'(冒号)来访问新旧引用的值。