栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

排除后继续合并

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

排除后继续合并

您可以使用error_logging_clause进行此操作。(该链接用于插入内容,因为在MERGE的文档中,它表示其行为与插入内容相同。

对于您的情况:

-- You create your Log TableEXECUTE DBMS_ERRLOG.CREATE_ERROR_LOG('copy_emp', 'TAB_ERR_COPY_EMP');    MERGE INTO copy_emp c     USING employees e     ON (c.employee_id = e.employee_id)   WHEN MATCHED THEN     UPDATE SET       c.first_name     = e.first_name,       c.last_name      = e.last_name,       c.email          = e.email,       c.phone_number   = e.phone_number,       c.hire_date      = e.hire_date,       c.job_id         = e.job_id,       c.salary         = e.salary,       c.commission_pct = e.commission_pct,       c.manager_id     = e.manager_id,       c.department_id  = e.department_id   WHEN NOT MATCHED THEN     INSERT VALUES(e.employee_id, e.first_name, e.last_name,          e.email, e.phone_number, e.hire_date, e.job_id,          e.salary, e.commission_pct, e.manager_id,          e.department_id)    LOG ERRORS INTO TAB_ERR_COPY_EMP('TAG_STATEMENT') REJECT LIMIT 100;

请注意,error_logging_clause有一些限制。从文档中:

  1. 以下情况导致该语句失败并回滚而未调用错误记录功能:

    • 违反了延迟约束。

    • 任何引发唯一约束或索引冲突的直接路径INSERT或MERGE操作。

    • 产生唯一约束或索引冲突的任何更新操作UPDATE或MERGE)。

  2. 您不能在错误记录表中为LONG,LOB或对象类型列跟踪错误。但是,作为DML操作目标的表可以包含这些类型的列。

    • 如果创建或修改相应的错误日志记录表,使其包含不支持的类型的列,并且该列的名称与目标DML表中的不支持的列相对应,则DML语句在解析时失败。

    • 如果错误日志表不包含任何不受支持的列类型,则将记录所有DML错误,直到达到错误的拒绝限制。对于发生错误的行,错误记录表中具有相应列的列值将与控制信息一起记录。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614287.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号