sql - 插入选择继续错误

标签 sql oracle error-handling insert oracle9i

我有一些使用的SQL脚本

INSERT INTO secondtable 
  (field, field1)
SELECT field, field2 
  FROM table;

我使用oracle 9.x和sqldevelopper。

当我启动它们时,在某些插入上选择我会得到外键错误。因此,他们没有插入谁在工作。

当出现错误并可能显示或记录错误时,是否可以说oracle继续执行相同的操作?

最佳答案

您无法在ORacle 9中继续失败的基于集的插入。您要么必须使该语句失效,要么接受该语句将被回滚。

选项:

  • 如果此类错误很少见,请尝试基于集合的工作并添加异常处理程序,如果发生错误,该异常处理程序将执行基于行的解决方案,并在发生错误时显示错误(或将其存储在某处以进行进一步处理)。是的,这是重复的工作,但是大多数情况下将执行最有效的操作,并且当发生错误时,它将根据您的决定进行处理。
  • 如果这是常见的情况,请将其吸干并切换到上述基于行的解决方案。尽最大可能进行优化,并希望有一天您可以利用#3)
  • 升级到Oracle 10并利用DML error logging
  • 关于sql - 插入选择继续错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949357/

    相关文章:

    linux - 运行 hello-world 的 Oracle Linux 上的 “Error response from daemon: Cannot start container … no such file or directory”

    linux - sqlplus 无法使用 tnsnames.ora 中的信息连接到 oracle

    php - Codeigniter处理错误的最佳方法,实际上不是验证错误

    c# - 需要修改参数的参数化查询mySQL

    mysql - 如何根据同一表中另一列的数据填充一列?

    mysql - 如何更改 SQL 传递 (SPT) 结果集的字段类型?

    MySQL GROUP BY 不带聚合而不是 LIMIT

    oracle - 将 .dmp 文件从 Oracle 11g 导入到 10g 返回错误 'Unable to open log file'

    asp.net - 像在Elmah中一样从log4net读取日志?

    angularjs - 自定义指令中的错误处理