嗨,我不能讓這個觸發器工作,香港專業教育學院在其上工作了一個小時左右,無法看到揣摩出我去錯了,任何幫助,將不勝感激SQL觸發器麻煩
CREATE OR REPLACE TRIGGER allergy
BEFORE INSERT ON
DECLARE
med VARCHAR2(20);
BEGIN
SELECT v.medication RCD.specify
INTO med
FROM visit v, relcondetails RCD
WHERE :new.medication = v.medication AND RCD.specifiy = 'allergies';
IF med = allergies THEN
RAISE_APPLICATION_ERROR(-20000, 'Patient Is alergic to this medication');
END IF;
END allergy;
當放到Oracle
ERROR在第6行:ORA-04079:無效 觸發說明書
多數民衆贊成我本來有,但我一直得到 ORA-04082:新的或舊的引用在表級別不允許觸發 所以我wanst不太清楚,如果它是正確的。 – SImon 2010-06-02 12:30:13
你需要通過添加'FOR EACH ROW'來創建它作爲行觸發器 – 2010-06-02 12:33:21
@Martin Well spotted – 2010-06-02 12:36:46