一、主键冲突插入更新

CREATE TABLE ads.base (id varchar NOT NULL,"name" varchar NOT NULL,age varchar NULL,CONSTRAINT pk_base PRIMARY KEY (id, name)
)
WITH (orientation=row,compression=no
);CREATE TABLE ads.src (id varchar NOT NULL,"name" varchar NOT NULL,age varchar NULL,CONSTRAINT pk_src PRIMARY KEY (id, name)
)
WITH (orientation=row,compression=no
);insert into base values('1','张三','12')
,('2','李四','13')
,('3','王五','14')
;insert into src values('2','李四','23')
,('3','王五','24')
,('4','赵六','20')
;insert into ads.base as base
select * from ads.src
on conflict (id,name)
do update set
base.age = excluded.age ;select * from ads.base s ;

二、实现 oracle merge into 方式更新、插入

with tmp as(update ads.stu1 cursetcur.age  =  src.age from (select id, "name" ,age from ads.stu2 ) srcwhere cur.id = src.id and cur."name" = src."name" returning cur.id ,cur."name"
)
insert into ads.stu1 (id, "name" ,age)
select id         as      id                     ,"name"     as      "name"              ,age        as      age
from ads.stu2 src
where not exists
(select 1 from tmp t where src.id = t.id and src."name" = t.name);

Postgre 实现 插入更新相关推荐

  1. mysql插入第一_mySQL教程 第5章 插入 更新与删除数据

    第5章 插入 更新与删除数据 使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 ...

  2. mySQL教程 第5章 插入 更新与删除数据

    第5章 插入 更新与删除数据 使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 ...

  3. sql 插入text字段包含特殊字符_Kettle(PDI)转换中输出之插入/更新详解

    概述 Insert / update(插入 / 更新)此步骤首先使用一个或多个查询关键字查找表中的一行.如果找不到该行,则插入该行.如果可以找到它,并且要更新的字段相同,则不执行任何操作.如果它们不完 ...

  4. kettle 插入更新 数据增量_kettle基于时间戳增量更新

    思路1: 1.提前建好ts时间表,设置两个字段分别为current_t和load_t,current用于比较原表中日期的上限,load_t则为上次加载的日期,几位原表中日期的下限. 1 create ...

  5. JDBC批处理插入更新MySQL Oracle

    Today we will look into JDBC Batch insert and update examples in MySQL and Oracle databases. Sometim ...

  6. kettle 常用输出(插入更新、表输出、执行 SQL 脚本)

    上一篇 文章 ,主要讲了 kettle 的原理.安装及简单的使用.其中用到了一种输出方式:插入更新. 这篇文章,主要介绍下常用的输出方式:插入更新.表输出.执行 SQL 脚本. 插入更新 插入更新,顾 ...

  7. 【解决方案】Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长

    [解决方案]Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长 解决办法: 1.如果插入的SQL比较少,那么可以人工处理.方法是使用PLSQL Developer软件,命令为:se ...

  8. day38 mycql 初识概念,库(增删改查),表(增删改)以及表字段(增删改查),插入更新操作...

    在Navicat中把已经生成的表逆向成模型 数据库上,右键-逆向数据库到模型 ego笔记: 增删改查 文件夹(库)增create database day43 charset utf8;改alter ...

  9. Kettle实现共享数据库连接及插入更新组件实例

    常用组件 1.共享数据库连接 新建的数据库连接都只属于某一个转换程序 如果你想让所有的转换程序都能使用这个连接,需要开启共享 2.表输入组件 需求∶将表中的数据,同步到另一张这张表中. 分析 这是一个 ...

最新文章

  1. 多组学-ATAC-seq-概念
  2. 高考后家有学计算机,2021高考热门专业将有大改动,计算机专业永远的神,榜首才是真黑马...
  3. dell c6220II lsi阵列卡
  4. IOS流水布局UICollectionView使用FlowLayout进行自由灵活组合
  5. php上传图片并显示代码,php图片上传代码(完整版已测试)
  6. IDEA创建maven项目之后无法编写java类
  7. Java面向对象㈡ -- 继承与多态
  8. 《Spring揭秘》读书笔记
  9. 三类IP地址ABC类的划分
  10. 【NLP】第 6 章:XGBoost 超参数
  11. 国家统计局指标数据深入分析
  12. RS485接线 | Modbus智能LED三色声光报警器 机房警示灯带蜂鸣器
  13. 利用pytesseract图像识别文字
  14. 黄教头第六周作业 一个基础的反射型xss
  15. (故事)大个儿熊的喷嚏
  16. 高等数学学习笔记——第七十六讲——直角坐标系下二重积分的计算
  17. 2022 AI 岗位风向标
  18. 路由器什么牌子好?游戏宅强推
  19. 爱签电子合同助力无纸化办公,青岛将推行存量房网签合同电子签名
  20. 做数据挖掘工作需要具备哪些思维原理?

热门文章

  1. 使用 markdown语法绘制流程图
  2. java计算机毕业设计中学招生管理系统源程序+mysql+系统+lw文档+远程调试
  3. Django的简单使用
  4. 刷题记录:牛客NC14670脸盆大哥的木桶
  5. ubuntu16.04下载 cuda 网络错误解决办法
  6. 计算机网络网桥思维导图,《王道计算机网络》学习笔记总目录+思维导图
  7. SysML和UML建模工具
  8. 把汇编程序翻译成C语言,pic单片机汇编程序翻译成c语言解决办法
  9. thinkpad 10 linux驱动,Ubuntu 10.04安装Thinkpad指纹软件
  10. 三维电子沙盘卫星图片矢量地图高程数据来源