数据初始化:有则更新无则添加(mySql,oracle)
数据初始化:有则更新无则添加(mySql,oracle)
2018-02-01
1 Orcale
create table table1(id varchar2(100) primary key,name varchar2(1000),address varchar2(1000)); -- 执行两次,会报 [Err] ORA-00001: unique constraint (PBOC.SYS_C0014610) violated
insert into table1(id,name,address)values('','影子','河北') ; -- 查看constraint
SELECT UC.OWNER,
UC.CONSTRAINT_NAME,
UC.CONSTRAINT_TYPE,
UC.TABLE_NAME,
UCC.COLUMN_NAME,
UC.SEARCH_CONDITION,
UC.R_CONSTRAINT_NAME
FROM USER_CONSTRAINTS UC
INNER JOIN USER_CONS_COLUMNS UCC
ON (UC.CONSTRAINT_NAME = UCC.CONSTRAINT_NAME) and UC.TABLE_NAME='TABLE1'; -- merge有则更新,无责插入
merge into table1 t1
using (select '' id,'影子2' name,'辽宁' address from dual) t2
on (t1.id = t2.id)
when matched then
update set t1.name = t2.name, t1.address = t2.address
when not matched then
insert values (t2.id, t2.name,t2.address); select * from table1; drop table table1;
2 Sql
create table table1(id varchar(100) primary key,name varchar(1000),address varchar(1000)); -- 执行两次,会报 [Err] 1062 - Duplicate entry '01001' for key 'PRIMARY'
insert into table1(id,name,address)values('','yingzi','hebei') ; -- 无责插入(返回:受影响的行: 1),有则更改(返回:受影响的行: 2)
INSERT INTO table1(id,name,address) VALUES ('','yingzi2','hunan') ON DUPLICATE KEY UPDATE name='yingzi2',address='hunan'; select * from table1; drop table table1;
数据初始化:有则更新无则添加(mySql,oracle)的更多相关文章
- SQL 利用存储过程实现对表数据有则更新无则添加(转)
初学存储过程,发现这篇文章简单易懂,特意转载,地址 http://blog.csdn.net/luotuomianyang/article/details/52013144 如果某一操作包含大量的T- ...
- 用户id有则更新,无则添加 使用replace into (代替 insert into)
app登录成功后,调用后台,更新channel_id public function set_pushchannel($device,$channelid,$iv='' ) $sql = " ...
- MySQL新增数据,存在就更新,不存在就添加
1.插入一条数据,存在就更新,不存在就更新(必须现有唯一键)使用insert ignore语句: insert ignore into table(col1,col2) values ('a','b' ...
- 当执行sql更新失误,添加了错误的判断条件,导致数据表数据出错时,如何利用备份数据库实现联合更新还原数据。
首先得有备份数据库,没有备份肯定无法联合更新回复. 我错误更新了 [SBSDB].[dbo].[wallet_user_info]中的用户名user_name 我的备份数据库及对应数据表SBSDBTe ...
- [NewLife.XCode]数据初始化
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...
- 基于abp框架的数据库种子数据初始化
目录 基于abp框架的数据库种子数据初始化 1.背景 2.参照 3.解决方案 3.1 初始化数据 3.2 依赖注入方法容器里获取数据库上下文 3.3 封装创建初始化数据列表方法 3.4 数据库中没有的 ...
- 【原创】Newlife.XCode的常见功能使用(一)查询与数据初始化
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html Newlife XCode组件相关文章目录:http://www ...
- SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除
/*------------------------------------------------------------------------------+ #| = : = : = : = : ...
- 转 SSIS处理导入数据时, 存在的更新, 不存在的插入
SSIS处理导入数据时, 存在的更新, 不存在的插入 分类: DTS/SSIS2006-09-10 12:43 18185人阅读 评论(22) 收藏 举报 ssissql servermicrosof ...
随机推荐
- Swift中的map 和 flatMap 原理及用法
之前对这两个概念有点糊,今天正好遇到一个相关需求,才深入了解了下. 需求如下: 大概就是对一个数组的model,重构成一个新model,返回得到一个新数组 用map很容易实现,不过后来我需要对其中进行 ...
- Java之——Web项目中DLL文件动态加载方法
本文转自:https://blog.csdn.net/l1028386804/article/details/53903557 在Java Web项目中,我们经常会用到通过JNI调用dll动态库文件来 ...
- Alias Method for Sampling 采样方法
[Alias Method for Sampling]原理 对于处理离散分布的随机变量的取样问题,Alias Method for Sampling 是一种很高效的方式. 在初始好之后,每次取样的复杂 ...
- 【LeetCode】203. Remove Linked List Elements
Remove Linked List Elements Remove all elements from a linked list of integers that have value val. ...
- Nginx对某个目录或整个网站进行登录认证的方法
比如要对 网站目录下的 test 文件夹 进行加密认证 首先需要在opt 的主目录中 /opt/ 创建一个新文件 htpasswd此文件的书写格式是用户名:密码每行一个账户并且 密码必须使用函数 cr ...
- PHP中使用 JKS(Java Key Store)的方法
PHP语言无法直接读取 JKS中的密钥,需要通过以下方法进行转换 本例以JKS中的私钥为例 首先 使用 KeyStore Explorer工具,打开JKS文件 ,此时可能需要输入 JKS密码 对私钥进 ...
- 【Android】Android屏幕状态操作
目录结构: contents structure [+] 如何监听屏幕锁屏 如何实现手机屏幕在锁屏后继续运行 最近笔者在做一个功能,就是实现Android程序在锁屏后可以继续运行,笔者在网上查了一些资 ...
- Kibana常用命令
一.范围(>500) totalTime: [500 TO *] 二.不等于 NOT monitorName: "XXX" 三.字符匹配 正则表达式: +url:/.* ...
- MySQL的timestamp类型自动更新问题
今天建了一个表,里面有一个列是timestamp类型,我本意是在数据更新时,这个字段的时间能自动更新.岂知对这个类型的值还不甚了解,导致出错.发现这个字段只是在这行数据建立的时候有值,在更新的却无变化 ...
- Percona XtraBackup介绍
Percona XtraBackup开源的.免费的mysql热备软件,可以执行无阻塞备份InnoDB和XtraDB数据库. Percona XtraBackup有以下优点: ·备份快速.可靠 ·备份期 ...