是否可以从WHEN OTHERS THEN
块中调用函数?
像这样:
EXCEPTION
WHEN OTHERS THEN
my_fnc('a key ID', 'Custome message', SQLERRM||' - '||SQLSTATE);
你当然可以:
t=# do $$ begin
perform 1/0;
exception when others then perform to_json(SQLERRM||' - '||SQLSTATE);
end;
$$;
DO
但是仅仅调用 fn(( 是没有意义的,除非它执行一些实际操作,所以 Ritcher 示例:
t=# do $$ begin
perform 1/0;
exception when others then raise info '%', to_json(SQLERRM||' - '||SQLSTATE);
end;
$$;
INFO: "division by zero - 22012"
DO