1
實踐問題的使用觸發器是這樣的:到位外鍵
貫徹執行相同功能的 以下外鍵約束的觸發器:
ALTER TABLE Sample ADD CONSTRAINT sample_fk
FOREIGN KEY (tissue_type_id)
REFERENCES Tissue_Type(tissue_type_id);
凡tissue_type_id
是一個屬性在Sample
和tissue_type
兩個表中。
在從
Using a trigger to implement a foreign key check constraint
到目前爲止,我有以下格式:
CREATE OR REPLACE TRIGGER tissue_type_inck
BEFORE INSERT ON SAMPLE
FOR EACH ROW
BEGIN
DECLARE
tissueType tissue_type.tissue_type_id%TYPE;
SELECT TISSUE_TYPE_ID
INTO tissueType
FROM TISSUE_TYPE
WHERE TISSUE_TYPE_ID=:NEW.TISSUE_TYPE_ID;
IF :NEW.TISSUE_TYPE_ID != tissueType THEN
RAISE_APPLICATION_ERROR(-20001,'INVALID TISSUE TYPE');
END IF;
END;
/
我得到的編譯錯誤:
Warning: Trigger created with compilation errors.
我要去哪裏錯了?對格式化和感謝抱歉!
好吧,我真的是在Oracle上,我做了一個更新我的帖子 – Blag
後,你修爲插入扳機,不要忘了外鍵與更新(以及PK表中的更新和刪除)有關。 – mathguy