更新时间:2024-11-01 GMT+08:00
分享

提示信息函数

  • report_application_error

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

    返回值类型:void

    表1 report_application_error参数说明

    参数

    类型

    说明

    是否必选

    log

    text

    error消息的内容。

    code

    int4

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

    示例:

    openGauss=# CREATE OR REPLACE FUNCTION GET_RESULT_UNKNOWN(
    openGauss(#     IN context_id int, /*context_id*/
    openGauss(#     IN col_type text /*col_type*/
    openGauss(# )RETURNS INTEGER
    openGauss-# AS $$
    openGauss$# BEGIN
    openGauss$#     if col_type is NULL then
    openGauss$#         PG_CATALOG.REPORT_APPLICATION_ERROR('invalid input for the third parameter col_type should not be null');
    openGauss$#     end if;
    openGauss$#     PG_CATALOG.REPORT_APPLICATION_ERROR('UnSupport data type for column_value(context: '||context_id||', '||PG_CATALOG.QUOTE_LITERAL(col_type)||')');
    openGauss$#     return -1;
    openGauss$# END;
    openGauss$# $$ LANGUAGE plpgsql;
    CREATE FUNCTION
    openGauss=# 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

相关文档