0
点赞
收藏
分享

微信扫一扫

PG在函数中捕获异常

后来的六六 2022-07-13 阅读 69
sql数据库


实例

CREATE or replace FUNCTION func_test() RETURNS int AS $$
declare
x int=0;
y int=0;
text_var1 varchar;
text_var2 varchar;
text_var3 varchar;
BEGIN
x := x + 1;
y := x / 0;
EXCEPTION

when others then
GET STACKED DIAGNOSTICS text_var1 = MESSAGE_TEXT,
text_var2 = PG_EXCEPTION_DETAIL,
text_var3 = PG_EXCEPTION_HINT;
raise notice 'text_var1=%',text_var1;
raise notice 'text_var2=%',text_var2;
raise notice 'text_var3=%',text_var3;
RETURN x;
END;
$$ LANGUAGE plpgsql;

结果

postgres=# select * from func_test();
NOTICE: text_var1=division by zero
NOTICE: text_var2=
NOTICE: text_var3=
func_test
-----------
1
(1 row)


举报

相关推荐

捕获异常

PG中的聚集函数

axios异常捕获

Flutter异常捕获

Flutter异常捕获方式

C# —— 异常捕获

0 条评论