PostgreSQL程序中批量绑定时怎么使用save exceptions记录错误数据
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"PostgreSQL程序中批量绑定时怎么使用save exceptions记录错误数据",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习
千家信息网最后更新 2025年11月07日PostgreSQL程序中批量绑定时怎么使用save exceptions记录错误数据二:程序处理块
这篇文章主要讲解了"PostgreSQL程序中批量绑定时怎么使用save exceptions记录错误数据",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"PostgreSQL程序中批量绑定时怎么使用save exceptions记录错误数据"吧!
一:利用scott下的emp表构造数据
--构造数据Create Table t1 As Select * From scott.emp Where 1=2;Alter Table t1 Add Constraint pk_emp_empno Primary Key(empno);Alter Table t1 Modify(ename Not Null);Alter Table t1 Add Constraint chk_sql check(Sal >= 800);Create Table t2 As Select * FROM scott.emp;Insert Into t2 Select * FROM scott.emp Where empno In(7369,7499);Update t2 Set sal = 700 Where empno In(7521,7566);Update t2 Set ename = Null Where empno = 7698;Create Table t_error As Select * From scott.emp Where 1=2;Alter Table t_error Add(error_idx number,ErrorCode Varchar2(50));
二:程序处理块
--一次获取所有ORA-24381错误的记录Declare --定义ORA-24381对应的异常 Excp_Bulk_Errors Exception; --将异常和错误号关联 Pragma Exception_Init(Excp_Bulk_Errors, -24381); --定义存储Error Index和Error Code的变量 n_Err_Idx Number; Vc_Err_Code Varchar2(50); Cur_Ref_Emp Sys_Refcursor; Pi_Fetch_Limit Pls_Integer := 1000; Type Typ_Emp Is Table Of Emp%Rowtype Index By Binary_Integer; Typ_Emp_Rec Typ_Emp;Begin Open Cur_Ref_Emp For Select * From T2; --批量获取 Fetch Cur_Ref_Emp Bulk Collect Into Typ_Emp_Rec Limit Pi_Fetch_Limit; --批量执行 Forall i In 1 .. Typ_Emp_Rec.Count Save Exceptions Execute Immediate 'insert into t1 values(:empno,:ename,:job,:mgr,:hiredate,:sal,:comm,:deptno)' Using Typ_Emp_Rec(i).Empno, Typ_Emp_Rec(i).Ename, Typ_Emp_Rec(i).Job, Typ_Emp_Rec(i).Mgr, Typ_Emp_Rec(i).Hiredate, Typ_Emp_Rec(i).Sal, Typ_Emp_Rec(i).Sal, Typ_Emp_Rec(i).Deptno;Exception When Excp_Bulk_Errors Then --清空错误日志表 Execute Immediate 'delete from t_error'; For i In 1 .. Sql%Bulk_Exceptions.Count() Loop n_Err_Idx := Sql%Bulk_Exceptions(i).Error_Index; Vc_Err_Code := Sql%Bulk_Exceptions(i).Error_Code; Execute Immediate 'insert into t_error values(:empno,:ename,:job,:mgr,:hiredate,:sal,:comm,:deptno,:idx,:code)' Using Typ_Emp_Rec(n_Err_Idx).Empno, Typ_Emp_Rec(n_Err_Idx).Ename, Typ_Emp_Rec(n_Err_Idx).Job, Typ_Emp_Rec(n_Err_Idx).Mgr, Typ_Emp_Rec(n_Err_Idx).Hiredate, Typ_Emp_Rec(n_Err_Idx).Sal, Typ_Emp_Rec(n_Err_Idx).Sal, Typ_Emp_Rec(n_Err_Idx).Deptno, n_Err_Idx, Vc_Err_Code; End Loop;End;
感谢各位的阅读,以上就是"PostgreSQL程序中批量绑定时怎么使用save exceptions记录错误数据"的内容了,经过本文的学习后,相信大家对PostgreSQL程序中批量绑定时怎么使用save exceptions记录错误数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
错误
数据
程序
学习
内容
变量
就是
思路
情况
文章
日志
更多
知识
知识点
篇文章
跟着
问题
关联
处理
存储
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
webssh访问数据库
北京朝阳网络安全大队电话
广东常见软件开发收费
无法连接opc服务器
url方式连接数据库
服务器驱动管理在哪里
php软件开发是什么
达内软件开发简历包装
网络安全太强大怎么回事
怎么在服务器查看远程登录日志
达梦数据库收费价格
拿到sql去数据库执行下
计算机网络技术需要哪两个支持
松江区管理软件开发信息推荐
软件转到数据库好吗
山西开源软件开发价格行情
空间棋牌软件开发公司
易语言怎么给数据库添加数据
服务器安全维护人才招聘
数据库8.0.27怎么弄中文
2u服务器配置
江西app定制软件开发
甘肃存储服务器云服务器
疫情推动网络技术发展
快河医疗大数据库
国际服电脑版mc服务器
深圳工业软件开发哪里好
实时数据库管理系统
网络安全照片背景图
嵌入式如何向数据库发数据