版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MaBanSheng/article/details/87889867
dml执行影响行数判断语句:
get diagnostics count_=ROW_COUNT;
if count_ =0 then
raise exception '%','更新失败';
end if;
打印过程执行过程中的参数:
raise notice '%记录数',count_;
捕获异常的处理:
EXCEPTION WHEN OTHERS THEN GET STACKED DIAGNOSTICS recode_message = MESSAGE_TEXT;
RETURN jsonb_build_object('_recode',9999,'_message',recode_message);
一个过程示例:
CREATE OR REPLACE FUNCTION rbc.pub_tojson(datajson_ character varying)
RETURNS jsonb
LANGUAGE plpgsql
AS $function$
declare rec record;
orgid_ varchar(50);
count_ integer;
recode_message varchar(500) DEFAULT '';
begin
...........update/insert.........
**--update或者insert后判断操作是否成功**
get diagnostics count_=ROW_COUNT;
if count_ =0 then
raise exception '%','更新失败';
end if;
**--获取并打印运行中的参数值**
raise notice '%记录数',count_;
--正常return
RETURN jsonb_build_object('_recode',0,'_message','操作成功');
**--接着写捕获异常后,赋值异常信息内容,并return**
EXCEPTION WHEN OTHERS THEN GET STACKED DIAGNOSTICS recode_message = MESSAGE_TEXT;
RETURN jsonb_build_object('_recode',9999,'_message',recode_message);
END;
$function$;