PostgreSQL程序中批量绑定时怎么使用save exceptions记录错误数据
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要讲解了"PostgreSQL程序中批量绑定时怎么使用save exceptions记录错误数据",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习
千家信息网最后更新 2025年01月21日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安全错误
数据库的锁怎样保障安全
网络安全伴我行二年级手抄报
服务器 接口 安全管理
惠普服务器磁盘设置
威海定制软件开发企业
太仓电子网络技术包括什么
深圳蓝盾网络安全
数据库安全防护产品
java 数据库访问类
空港指挥系统软件开发商
服务器前面接核心交换机吗
4核8g服务器承载量
关于网络安全隐私调查背景
互联网金融软件开发最新消息
易联众软件开发加班严重嘛
安徽云超算套料软件开发商
利安人寿软件开发
戴尔r620服务器回收
数据库查询一年的SQL语句
软件开发订制班
db2数据库添加索引脚本
设计数据库保存用户信息
思科网络技术论文6
服务器 接口 安全管理
成都市网络安全游园会
网络安全辩论会
珠海软件开发信任小罗6
湖北企业软件开发排行榜
普陀区电商软件开发定制平均价格
mysql查询数据库名
数据库工作负荷压缩技术的应用