当前位置: 首页 > news >正文

oracle insert忽略主键冲突,忽略重复记录

在INSERT语句中使用IGNORE_ROW_ON_DUPKEY_INDEX提示:
 

INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(table_name, index_name) */ 
INTO table_name(column1, column2) VALUES(value1, value2);
或
INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(table_name(column_name)) */ 
INTO table_name(column1, column2) VALUES(value1, value2);
或
INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(table_name(column_name)) */ 
INTO table_name  select ...from... ;

在这个提示中,table_name是要插入数据的表名,index_name是触发唯一约束冲突的索引名(column_name 是字段名称)。

通过使用这个提示,当插入的数据出现唯一约束冲突时,Oracle会忽略冲突的行,继续执行插入操作。

需要注意的是,IGNORE_ROW_ON_DUPKEY_INDEX提示只在出现唯一约束冲突时起作用,其他异常(如空值约束、外键约束)仍会导致插入操作失败。

此外,这个提示在执行插入操作时也会导致性能损失,因为Oracle在插入数据之前需要判断是否存在唯一约束冲突。

tips:

并行写法

INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(table_name(column_name))  parallel(4) */ 
INTO table_name  select ...from... ;

http://www.lryc.cn/news/474770.html

相关文章:

  • 小新学习k8s第四天之发布管理
  • 01_IAR新建CC2530工程
  • 原生鸿蒙的竞争力到底如何?
  • 数字化生态平台:关键功能全解析
  • c 到 c++ 过渡
  • [linux驱动开发--环境搭建] qemu-9.1+linux-kernel-6.11
  • 019集——获取CAD图中多个实体的包围盒(CAD—C#二次开发入门)
  • 【Clickhouse 探秘】Clikchouse 有哪些表引擎?你都知道哪些?
  • 你好,C++并发世界
  • windows10 安装 达梦数据库DM8
  • ntp交叉编译 ntpdate时间同步
  • 微服务实战系列之玩转Docker(十六)
  • Solana 代币 2022 — Transfer Hook
  • 网络爬虫中的反爬虫技术:突破限制,获取数据
  • 【ROS2】cv_bridge:ROS图像消息和OpenCV的cv::Mat格式转换库
  • 【Web.路由】——URL生成
  • 使用 Java 实现从搜索引擎批量下载图片
  • 基于Matlab GUI的说话人识别测试平台
  • Leetcode 热题100之二叉树2
  • <项目代码>YOLOv8 煤矸石识别<目标检测>
  • GA/T1400视图库平台EasyCVR视频分析设备平台微信H5小程序:智能视频监控的新篇章
  • LVM与磁盘配额
  • xmuoj [蒙德里安的梦想] 状压dp个人笔记
  • ubuntu22安装搜狗输入法不能输入中文
  • HtmlAgilityPack 操作详解
  • 基于SSM医院门诊互联电子病历管理系统的设计
  • 【读书笔记/深入理解K8S】集群网络
  • 【专有网络VPC】连接公网
  • 论文 | Legal Prompt Engineering for Multilingual Legal Judgement Prediction
  • 国科安芯抗辐照MCU和CANFD芯片发布