【发布时间】:2014-06-21 09:54:57
【问题描述】:
我需要有关在 Oracle DB 中使用正则表达式创建触发器的帮助。我必须找到一个解决方案,当插入数据不像正则表达式时,它会显示错误消息。但是我找不到,该怎么做。
`CREATE OR REPLACE TRIGGER IC_KONTROLA
BEFORE INSERT OR UPDATE
OF IC_POJ
ON POJISTOVNA
FOR EACH ROW
DECLARE
IC_KONTROLA_SPATNE EXCEPTION;
BEGIN
IF (:NEW.IC_POJ NOT LIKE (REGEXP_LIKE (:NEW.IC_POJ,'\d{8}'))) THEN
RAISE IC_KONTROLA_SPATNE;
END IF;
EXCEPTION
WHEN IC_KONTROLA_SPATNE THEN
RAISE_APPLICATION_ERROR(-203, ' Identifikační číslo neodpovídá 8-číselnému vzoru!');
END;`
有什么想法吗?谢谢!
【问题讨论】:
-
错误(4,1):PL/SQL:语句被忽略错误(4,5):PLS-00306 调用“NOT_LIKE”时参数的数量或类型错误
标签: sql triggers oracle10g regex-negation