我正在編寫一個簡單的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;
順便提一下,這可能會更好地實現爲檢查約束。 –