错误(7,11):PLS-00201:必须声明标识符'NA.TITLE_ID'

时间:2017-03-26 09:23:01

标签: database oracle compiler-errors

触发器未按预期工作并出现编译错误

错误(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);

1 个答案:

答案 0 :(得分:2)

请尝试以下方式
:na.Title_ID


您需要使用':'(冒号)来访问新旧引用的值。