mar*_*mnl 2 postgresql triggers exception-handling postgresql-8.4
我想对正在插入表中的数据执行一些业务验证,我需要在执行此操作时检查另一个表中的数据.这种方式似乎是BEFORE INSERT FOR EACH ROW TRIGGER
在PostgreSQL中使用它,并且从它调用的函数中我可以返回NULL,如果新数据未通过验证以防止它被插入.
有什么方法可以返回描述验证错误的错误消息吗?
使用raise
例外:
39.8.错误和消息
使用该
RAISE
语句报告消息并引发错误.
[...]
EXCEPTION
引发错误(通常会中止当前交易);
所以你可以在触发器中说出这样的话:
raise exception 'Say something useful about %', some_variable;
Run Code Online (Sandbox Code Playgroud)
这将中止触发器和(通常)当前事务.您引发的消息应该返回到客户端应用程序.
归档时间: |
|
查看次数: |
2991 次 |
最近记录: |