oracle目标表,oracle merge 目标表以及源表存在重复列的问题(转)

SQL> select * from t_source;

A                                       B

--------------------------------------- ---------------------------------------

1                                       1

2                                       2

SQL> select * from t_target;

A                                       B

--------------------------------------- ---------------------------------------

2                                      34

2                                    3999

SQL> merge into t_target using t_source on (t_source.a=t_target.a) when matched then update set t_target.b=t_source.b;

Done

SQL> select * from t_target;

A                                       B

--------------------------------------- ---------------------------------------

2                                       2

2                                       2

SQL> commit;

Commit complete

小结:1,对于merge,目标表如果匹配列重复,但源表匹配不重复,会用源表表列新目标表的数据

2,反之,如果源表匹配列重复,此时merge就会报错,因为不知用源表哪条记录来更新目标表的数据

转自

http://blog.itpub.net/9240380/viewspace-750968/

Sql server的Merge语句,源表中如果有重复数据会导致执行报错

用过sql server的Merge语句的开发人员都应该很清楚Merge用来做表数据的插入/更新是非常方便的,但是其中有一个问题值得关注,那就是Merge语句中的源表中不能出现重复的数据,我们举例来说 ...

merge源表数据移植到目标表新表数据中

merge into dbo.ak_SloteCardTimes a using(select RecordID,CardNO,SloteCardTime from dbo.Tb_CardDate b ...

Oracle 12C 新特性之 恢复表

RMAN的表级和表分区级恢复应用场景:1.You need to recover a very small number of tables to a particular point in time ...

验证ogg同步数据库表无主键表且目标表包含隐藏字段

问题描述: 已知:OGG在同步无主键的表时,OGG会自动设置表的全字段为主键,若目标表字段多于源表,同步过程中replicat进程可以读取insert操作但无法进行update/delete操作,从而 ...

Oracle创建表空间和表

创建表空间和表ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的oracle中的表就是一张存储数据的表.表空间是逻辑上的划分.方便管理的.数据表空间 (Tablesp ...

恢复oracle中误删除drop掉的表

查看回收站中表 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recycl ...

Oracle\MS SQL Server Update多表关联更新

原文:Oracle\MS SQL Server Update多表关联更新 一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表 ...

oracle如何导出和导入数据库表

oracle如何导出和导入数据库表 oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作,简 ...

恢复oracle中误删除drop掉的表 闪回的方法

恢复oracle中误删除drop掉的表   查看回收站中表 --需要在其所在用户下查询 回收站对象 select object_name,original_name,partition_name,ty ...

随机推荐

C/C++:提升_指针的指针和指针的引用

C/C++:提升_指针的指针和指针的引用 写在前面 今天在使用指针的时候我发现了一个自己的错误.

Memcache笔记05-Memcache安全性

Memcache服务器端都是直接通过客户端连接后直接操作,没有任何的验证过程,这样如果服务器是直接暴露在互联网上的话是比较危险,轻则数据泄露被其他无关人员查看,重则服务器被入侵,因为Mecache是以 ...

springboot常见应用属性

# ===================================================================# COMMON SPRING BOOT PROPERTIES ...

[selenium webdriver Java]隐式的等待同步

Selenium WebDriver提供了隐式等待来同步测试.当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后,抛出找不到元素异常 即,当元素没 ...

定位 - CoreLocation - INTULocationManager

https://github.com/intuit/LocationManager #import "ViewController.h" #import "INTULoc ...

mac上的键盘生活——打字训练

我的打字真的很有问题,错误率实在是太高了,于是乎下定决心改掉打字习惯,起码为了对得起我的机械键盘   所谓双击键(shift)就是当一个键钮上有两个字符时的辅助选择键,像标注在数字1上的 !,就是在你 ...

从零开始学安全(四十四)●TCP三次握手四次挥手

wireshark:Beyond Compare是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直接与 ...

tensorflow 查看模型输入输出saved_model_cli show --dir ./xxxx --all

saved_model_cli show --dir ./xxxxxxxx --all 可以查看模型的输入输出,比如使用tensorflow export_model_inference.py 输出的 ...

深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例

JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...

Scrum Meeting 7

第七次会议 No_00:工作情况 No_01:任务说明 待完成 已完成 No_10:燃尽图 No_11:照片记录 待更新 No_100:代码/文档签入记录 No_101:出席表 ...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值