嗨,我不能让这个触发器工作,香港专业教育学院在其上工作了一个小时左右,无法看到揣摩出我去错了,任何帮助,将不胜感激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