Postgre 实现 插入更新
一、主键冲突插入更新
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 实现 插入更新相关推荐
- mysql插入第一_mySQL教程 第5章 插入 更新与删除数据
第5章 插入 更新与删除数据 使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 ...
- mySQL教程 第5章 插入 更新与删除数据
第5章 插入 更新与删除数据 使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 ...
- sql 插入text字段包含特殊字符_Kettle(PDI)转换中输出之插入/更新详解
概述 Insert / update(插入 / 更新)此步骤首先使用一个或多个查询关键字查找表中的一行.如果找不到该行,则插入该行.如果可以找到它,并且要更新的字段相同,则不执行任何操作.如果它们不完 ...
- kettle 插入更新 数据增量_kettle基于时间戳增量更新
思路1: 1.提前建好ts时间表,设置两个字段分别为current_t和load_t,current用于比较原表中日期的上限,load_t则为上次加载的日期,几位原表中日期的下限. 1 create ...
- JDBC批处理插入更新MySQL Oracle
Today we will look into JDBC Batch insert and update examples in MySQL and Oracle databases. Sometim ...
- kettle 常用输出(插入更新、表输出、执行 SQL 脚本)
上一篇 文章 ,主要讲了 kettle 的原理.安装及简单的使用.其中用到了一种输出方式:插入更新. 这篇文章,主要介绍下常用的输出方式:插入更新.表输出.执行 SQL 脚本. 插入更新 插入更新,顾 ...
- 【解决方案】Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长
[解决方案]Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长 解决办法: 1.如果插入的SQL比较少,那么可以人工处理.方法是使用PLSQL Developer软件,命令为:se ...
- day38 mycql 初识概念,库(增删改查),表(增删改)以及表字段(增删改查),插入更新操作...
在Navicat中把已经生成的表逆向成模型 数据库上,右键-逆向数据库到模型 ego笔记: 增删改查 文件夹(库)增create database day43 charset utf8;改alter ...
- Kettle实现共享数据库连接及插入更新组件实例
常用组件 1.共享数据库连接 新建的数据库连接都只属于某一个转换程序 如果你想让所有的转换程序都能使用这个连接,需要开启共享 2.表输入组件 需求∶将表中的数据,同步到另一张这张表中. 分析 这是一个 ...
最新文章
- 多组学-ATAC-seq-概念
- 高考后家有学计算机,2021高考热门专业将有大改动,计算机专业永远的神,榜首才是真黑马...
- dell c6220II lsi阵列卡
- IOS流水布局UICollectionView使用FlowLayout进行自由灵活组合
- php上传图片并显示代码,php图片上传代码(完整版已测试)
- IDEA创建maven项目之后无法编写java类
- Java面向对象㈡ -- 继承与多态
- 《Spring揭秘》读书笔记
- 三类IP地址ABC类的划分
- 【NLP】第 6 章:XGBoost 超参数
- 国家统计局指标数据深入分析
- RS485接线 | Modbus智能LED三色声光报警器 机房警示灯带蜂鸣器
- 利用pytesseract图像识别文字
- 黄教头第六周作业 一个基础的反射型xss
- (故事)大个儿熊的喷嚏
- 高等数学学习笔记——第七十六讲——直角坐标系下二重积分的计算
- 2022 AI 岗位风向标
- 路由器什么牌子好?游戏宅强推
- 爱签电子合同助力无纸化办公,青岛将推行存量房网签合同电子签名
- 做数据挖掘工作需要具备哪些思维原理?
热门文章
- 使用 markdown语法绘制流程图
- java计算机毕业设计中学招生管理系统源程序+mysql+系统+lw文档+远程调试
- Django的简单使用
- 刷题记录:牛客NC14670脸盆大哥的木桶
- ubuntu16.04下载 cuda 网络错误解决办法
- 计算机网络网桥思维导图,《王道计算机网络》学习笔记总目录+思维导图
- SysML和UML建模工具
- 把汇编程序翻译成C语言,pic单片机汇编程序翻译成c语言解决办法
- thinkpad 10 linux驱动,Ubuntu 10.04安装Thinkpad指纹软件
- 三维电子沙盘卫星图片矢量地图高程数据来源