作者Maisky (McDummy)
看板Database
标题Re: [SQL ] Oracle Cross Table Constraint
时间Sat Nov 28 10:15:35 2009
※ 引述《crazykai (Gooday)》之铭言:
: 谢谢大家的回覆
: 第一次写trigger 感觉问题不少
: 以下是我的code 还请大家帮忙指出错误 谢谢
: CREATE TABLE Exam (exam_ID CHAR(2), exam_DATE DATE)
: CREATE TABLE Exam2 (exam_ID CHAR(2), exam_DATE2 DATE)
: CREATE trigger exam2_trigger
: BEFORE INSERT ON Exam2
: FOR EACH ROW
: DECLARE DATE Y;
: BEGIN
: SELECT exam_DATE INTO Y
: FROM Exam
: WHERE exam_ID = new.exam_ID;
: IF new.exam_DATE2 < Y
: THEN RAISE_APPLICATION_ERROR(-20000, 'Invalid Date');
: END IF;
: END
: ERROR at line 7: PL/SQL: Statement ignored5. BEGIN
: 6. SELECT exam_DATE INTO Y
: 7. FROM Exam
: 8. WHERE exam_ID = new.exam_ID;
CREATE OR REPLACE trigger exam2_trigger
BEFORE INSERT ON Exam2
FOR EACH ROW
DECLARE
Y DATE;
BEGIN
SELECT exam_DATE2 INTO Y
FROM Exam2
where exam_ID = :new.exam_ID;
IF :new.exam_DATE2 < Y
THEN RAISE_APPLICATION_ERROR(-20000, 'Invalid Date');
END IF;
END;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 76.124.53.119