Postgresql - plpgsql - Errors and Messages

以下内容翻译自官方文档:

https://www.postgresql.org/docs/10/static/plpgsql-errors-and-messages.html

==========================================

1. Reporting Errors and Messages

使用RAISE语句来报告信息和返回错误。

RAISE [ level ] 'format' [, expression [, ... ]] [ USING option = expression [, ... ] ];

RAISE [ level ] condition_name [ USING option = expression [, ... ] ];

RAISE [ level ] SQLSTATE 'sqlstate' [ USING option = expression [, ... ] ];

RAISE [ level ] USING option = expression [, ... ];

RAISE ;

level选项指定错误的严重程度。允许水平是调试(DEBUG),日志(LOG),信息(INFO),注意(NOTICE),警告(WARNING),和异常(EXCEPTION)。默认设置是异常(EXCEPTION)。

2. Checking Assertions

ASSERT语句是将调试检查插入到PL/PGSQL函数中的简便快捷方式。

ASSERT condition [ , message ];

条件是一个布尔表达式,期望它总是求值为true;如果求值为true,那么ASSERT语句就不再执行任何操作。如果结果为false或NULL,则引发ASSERT_FAILURE异常。

如果提供了可选的消息,则该表达式的结果将替换默认错误消息文本“断言失败”,如果条件失败。在断言成功的正常情况下,不计算消息表达式。

可以通过配置参数plpgsql.check_asserts启用或禁用断言的测试,该参数接受布尔值;缺省值为on。如果这个参数关闭,ASSERT语句什么也不做。

注意ASSERT是用于检测程序错误,而不是用于报告常见的错误条件。为此,使用上面提到的RAISE语句。

猜你喜欢

转载自blog.csdn.net/chuckchen1222/article/details/82391914