我正在编写一个简单的PL/SQL触发器来检查插入或更新的值是否为UPPER,触发器编译正常,但在插入或更新记录时不起作用。你有什么主意吗?谢谢为什么我的PLSQL触发器验证不会失败?
CREATE OR REPLACE TRIGGER check_case_trg
BEFORE
INSERT OR UPDATE
ON unidades_medidas
FOR EACH ROW
DECLARE
e_invalid_case EXCEPTION;
BEGIN
IF
:NEW.unm_codigo <> UPPER(:NEW.unm_codigo) OR
:NEW.unm_descripcion <> UPPER(:NEW.unm_descripcion)
THEN
RAISE e_invalid_case;
END IF;
EXCEPTION
WHEN e_invalid_case THEN
DBMS_OUTPUT.PUT_LINE(
'Nuevos datos deben estar en mayúsculas');
END check_case_trg;
/
SHOW ERRORS;
顺便提一下,这可能会更好地实现为检查约束。 –