更新时间:2024-08-20 GMT+08:00

提示信息函数

  • 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_CATALOG.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