请大神写一个详细示例。要不然我看不懂,急急急
急。有没有 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;本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog