PL / SQL触发触发问题
|
我对PL / SQL触发器何时触发有疑问。
我写了以下触发器
CREATE OR REPLACE TRIGGER gradeInputCheck
BEFORE INSERT ON GRADE
FOR EACH ROW
DECLARE
newGrade GRADE.NUMERIC_GRADE%TYPE := :NEW.NUMERIC_GRADE;
grade_too_low EXCEPTION;
grade_too_high EXCEPTION;
BEGIN
DBMS_OUTPUT.PUT_LINE(newGrade);
IF (newGrade < 0) THEN
RAISE grade_too_low;
ELSIF (newGrade > 100) THEN
RAISE grade_too_high;
END IF;
EXCEPTION
WHEN grade_too_low THEN
DBMS_OUTPUT.PUT_LINE(\'Grades must be between 0 and 100\');
WHEN grade_too_high THEN
DBMS_OUTPUT.PUT_LINE(\'Grades must be between 0 and 100\');
END;
但是,当我运行一个简单的语句
UPDATE grade SET numeric_grade = -1;
触发器不会触发。
关于如何使扳机开火有什么要点吗?
谢谢!
没有找到相关结果
已邀请:
2 个回复
耐扫鹤胶鞭
肺鬼耙扮群