【问题标题】:Error(7,11): PLS-00201: identifier 'NA.TITLE_ID' must be declared错误(7,11):PLS-00201:必须声明标识符“NA.TITLE_ID”
【发布时间】:2017-03-26 09:23:01
【问题描述】:

触发器没有按预期工作并给出编译错误

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

【问题讨论】:

    标签: database oracle compiler-errors


    【解决方案1】:

    请尝试以下方式
    :na.Title_ID


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-24
      • 1970-01-01
      • 1970-01-01
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      • 2019-12-17
      相关资源
      最近更新 更多