有时候有些特殊的需求,比如如果某字段输入的值是A开头的,都禁止他输入。这个时候我们都知道要用触发器来实现,但是如何给出一个良好的报错呢?
- create or replace trigger codeadmin.trg_code_input_s
- before insert or update on codeadmin.code_input
- for each row
- declare
- codeerr exception;
- begin
- if upper(substr(:new.securitycode,1,1))='A' then
- raise codeerr;
- end if;
- exception
- when codeerr then
- RAISE_APPLICATION_ERROR(-20123,'代码错误');
- end;
- /
这个触发器可以当输入以A/a开头的值,都被警告ora-20123错误,自动回滚。非常实用。
转载于:https://blog.51cto.com/gundam/1020167