※ 引述《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