2014-11-22 34 views
0

我試圖創建一個簡單的觸發器。我的目標是創建ON-INSERT觸發器,用於在醫院中患者入院時出現一些過期(基於他過去的准入情況)並打印到期的情況。ORA-04098:觸發器'SYSTEM.ON_INSERT'無效,重新驗證失敗

create or replace trigger insert_patient 
after insert 
on appontment_info 
FOR EACH ROW 
DECLARE 
    d number; 
BEGIN 

    select DUE into d from PATIENT_INFO where pid = :new.p_id; 
    dbms_output.put_line('due of the patient:'||d); 
END; 

但是當我運行:

insert into appontment_info (p_id,pname,doc_name)values(2,'viju','Abc'); 

激活觸發器,我得到這個錯誤信息:

ORA-04098: trigger 'SYSTEM.ON_INSERT' is invalid and failed re-validation 

我不明白什麼原因導致這種錯誤。你知道是什麼原因導致這個錯誤?或者爲什麼發生這種情況?

預先感謝您!

+0

的問題是,有一個名爲'ON_INSERT'這是無效的系統架構中的觸發器,這顯然需要被執行爲了編譯你的新觸發器。檢查你的DBA的... – 2014-11-22 14:29:10

回答

0

我回答

select DUE into d from PATIENT_INFO where patient_info.pid = :new.p_id; 

謝謝鮑勃·賈維斯

相關問題