首页 > 数据库 >postgresql 函数错误捕捉

postgresql 函数错误捕捉

时间:2023-04-17 16:56:39浏览次数:44  
标签:postgresql 函数 err -- 4000 捕捉 result END message

CREATE OR REPLACE FUNCTION "public"."proc_net_agent_diamond_loss"("dwuserid" int4, "strdate" date)
RETURNS "public"."my_returninfo" AS $BODY$
DECLARE
result My_ReturnInfo;
v_start_time TIMESTAMP(0);
v_end_time TIMESTAMP(0);
cur_agent_loss_diamond_info refcursor;
v_user_id INT;
v_club_list varchar(4000);
err_message varchar(4000);
exception_context varchar(4000);
BEGIN
IF strDate is null then
strDate := (now()::DATE-interval '1 day');
END IF;

result.strErrorDescribe='数据录入成功'||strDate;
result.ReturnValue=0;
RETURN result;
EXCEPTION
WHEN OTHERS THEN
BEGIN
-- get stacked diagnostics exception_context=PG_EXCEPTION_CONTEXT; --获取错误的行号
--err_message := '错误行号:' || exception_context || '; 异常:' || sqlerrm;

--insert into proc_err_log values(err_message);
result.strErrorDescribe='数据异常已经回滚'; --获取异常信息
result.ReturnValue=9999;
RETURN result;
END;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100

 

标签:postgresql,函数,err,--,4000,捕捉,result,END,message
From: https://www.cnblogs.com/xiexie0223/p/17326397.html

相关文章

  • 盘点Python内置函数sorted()高级用法实战
    今日鸡汤清川带长薄,车马去闲闲。大家好,我是Python进阶者。一、前言前几天在Python钻石交流群有个叫【emerson】的粉丝问了一个Python排序的问题,这里拿出来给大家分享下,一起学习下。其实这里【瑜亮老师】、【布达佩斯的永恒】等人讲了很多,只不过对于基础不太好的小伙伴们来说,还是有......
  • Helm模板.Files.Get函数
     常规用法apiVersion:v1kind:ConfigMapmetadata:name:templatesbinaryData:file1:{{.Files.Get"files/file1"|b64enc}}file2:{{.Files.Get"files/file2"|b64enc}}#错误示例apiVersion:v1kind:ConfigMapmetadata:name:temp......
  • PG技术大讲堂 - 第14讲:PostgreSQL 检查点
     PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUGPG技术大讲堂。Part14:PostgreSQL检查点内容1:检查点触发机制内容2:检查点作用......
  • Oracle - DBMS_LOB函数和用法
    GETLENGTH返回指定LOB数据的长度的函数DBMS_LOB.GETLENGTH(lob_locINBLOB/CLOB/BFILE/NCLOB)RETURNINTEGER;OPEN打开LOB对象DBMS_LOB.OPEN(lob_locINOUTNOCOPYBLOB/CLOB/BFILE,open_modeINBINARY_INTEGER--只读:DBMS_LOB.LOB_RE......
  • this指针 (保存调用成员函数对象的地址)
    1.在调用成员函数前,先将对象地址存入ecx寄存器,进入函数后将ecx压栈保存对象地址,当需要用到this指针时,再弹栈取出赋值给函数内部自带的一个this指针2.数据成员是由this指针+偏移取到的。类的对齐规则和结构体一致3.静态成员函数没有this指针4.若函数形参和成员......
  • 12.shell 函数应用
    1.什么是函数函数其实就是一堆命令的集合,用来完成一些特定的代码块。作用:便于代码的复用,跟脚本类似2.函数的基本概述#定义函数#第一种函数名(){  命令集合}#第二种function函数名{  命令集合}#示例  2.函数状态返回  3.状态返回案例 ......
  • 函数指针
    函数指针 #include<stdio.h>void(*fun(void(*)(int),int))(int);//void(*)(int)fun(void(*)(int),int);voidfun1(inta);intmain(intargc,constchar*argv[]){intnum=123;fun(fun1,num);return0;}void(*fun(void(*p)(i......
  • 内置函数
    1.hashmap内建函数values和keys来枚举哈希表中的子变量1.1keys键的集合<#assignh={"name":"mouse","price":50}><#assignkeys=h?keys><#listkeysaskey>${key}=${h[key]};</#list> 1.2values值的集合2.new使用内建函数new将指令放到一个FTL库 ......
  • 仿函数
    函数对象(仿函数):重载函数调用操作符本质是一个类仿函数可以作为参数传递谓词返回值为bool类型的仿函数称为谓词一元谓词和二元谓词,一元还是二元看的是参数的数量常用算法for_each(v.begin(),v.end(),func)最后一位传入函数或仿函数transform(v.begin(),v.end(),v2.begin(),......
  • 输入五个int型和五个float型求两个max(数组和重载函数)
    利用数组和函数重载求5个数最大值(分别考虑整数、单精度的情况)。输入格式:分别输入5个int型整数、5个float型实数。输出格式:分别输出5个int型整数的最大值、5个float型实数的最大值。输入样例:在这里给出一组输入。例如:1122666445511.1122.2233.33888.8855.55......