请大神写一个详细示例。要不然我看不懂,急急急
急。有没有 oracle前辈 花点时间,有偿有偿指导一下我。
请教一个存储过程问题
场景模拟:
我要插入一批数据
A
B
C
DDD
进入目标表,目标表只有一个字段CHAR(2)
现在有四条数据要插入进去,其中一条字符长度超长了。正常insert会存储过程报错,四条都插不进去,我想继续执行把其他三条正常插入到目标表,报错那一条记录的到日志
ORACLE存储过程遇到不合规数据跳过记录到日志然后继续插入合规数据
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- woshiafanfan 2019-08-27 12:21关注
--创建测试数据表
create table T_INSERT_DATA
(
val VARCHAR2(100)
);
--插入测试数据
insert into t_insert_data values('A');
insert into t_insert_data values('B');
insert into t_insert_data values('C');
insert into t_insert_data values('DDD');
--创建需要插入数据的目标表
create table T_INSERT
(
val VARCHAR2(1)
);
--创建问题数据日志表
create table T_INSERT_LOG
(
val VARCHAR2(100)
);
--测试的PLSQL脚本
declare
v_val varchar2(100);
begin
for i in (select td.val from T_INSERT_DATA td) loop
v_val := i.val;
insert into t_insert (val) values (v_val);
end loop;
commit;
exception
when others then
insert into t_insert_log (val) values (v_val);
commit;
end;本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 关于加载卡的问题有能知道这个要怎么处理吗?
- ¥100 rtmpose姿态评估
- ¥15 java 通过反射找路径下的类,打包后就找不到
- ¥15 通联支付网上收银统一下单接口
- ¥15 angular有偿编写,
- ¥15 centos7系统下abinit安装时make出错
- ¥15 hbuildex运行微信小程序报错
- ¥15 关于#python#的问题:我知道这个问题对你们来说肯定so easy
- ¥15 wpf datagrid如何实现多层表头
- ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。