张彭 2019-08-27 11:22 采纳率: 100%
浏览 578
已采纳

ORACLE存储过程遇到不合规数据跳过记录到日志然后继续插入合规数据

请大神写一个详细示例。要不然我看不懂,急急急
急。有没有 oracle前辈 花点时间,有偿有偿指导一下我。
请教一个存储过程问题
场景模拟:
我要插入一批数据
A
B
C
DDD
进入目标表,目标表只有一个字段CHAR(2)
现在有四条数据要插入进去,其中一条字符长度超长了。正常insert会存储过程报错,四条都插不进去,我想继续执行把其他三条正常插入到目标表,报错那一条记录的到日志

  • 写回答

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;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧