云数据库 GAUSSDB-提示信息函数:report_application_error()

时间:2025-06-03 09:36:01

report_application_error()

描述:PL执行过程中,可以使用此函数来抛ERROR。

返回值类型:void

表1 report_application_error参数说明

参数

类型

说明

是否必选

log

text

error消息的内容。

code

int4

error消息对应的error code,范围为:-20999 ~ -20000。

示例:

gaussdb=# CREATE OR REPLACE FUNCTION GET_RESULT_UNKNOWN(
gaussdb(#     IN context_id int, /*context_id*/
gaussdb(#     IN col_type text /*col_type*/
gaussdb(# )RETURNS INTEGER
gaussdb-# AS $$
gaussdb$# BEGIN
gaussdb$#     if col_type is NULL then
gaussdb$#         PG_CATA LOG .REPORT_APPLICATION_ERROR('invalid input for the third parameter col_type should not be null');
gaussdb$#     end if;
gaussdb$#     PG_CATALOG.REPORT_APPLICATION_ERROR('UnSupport data type for column_value(context: '||context_id||', '||PG_CATALOG.QUOTE_LITERAL(col_type)||')');
gaussdb$#     return -1;
gaussdb$# END;
gaussdb$# $$ LANGUAGE plpgsql;
CREATE FUNCTION
gaussdb=# CALL GET_RESULT_UNKNOWN(NULL, NULL);
ERROR:  invalid input for the third parameter col_type should not be null
CONTEXT:  SQL statement "CALL pg_catalog.report_application_error('invalid input for the third parameter col_type should not be null')"
PL/pgSQL function get_result_unknown(integer,text) line 4 at PERFORM
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0401.html