最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle中MERGEINTO的用法

来源:动视网 责编:小采 时间:2020-11-09 11:46:20
文档

Oracle中MERGEINTO的用法

Oracle中MERGEINTO的用法:自从版本9i之后,对于有则更新,无则插入有了一个新的用法,不需要再执行2次SQL了。 merge 命令可以用来用一个表中的数据来 自从版本9i之后,对于有则更新,无则插入有了一个新的用法,不需要再执行2次SQL了。 merge 命令可以用来用一个表中的数据
推荐度:
导读Oracle中MERGEINTO的用法:自从版本9i之后,对于有则更新,无则插入有了一个新的用法,不需要再执行2次SQL了。 merge 命令可以用来用一个表中的数据来 自从版本9i之后,对于有则更新,无则插入有了一个新的用法,不需要再执行2次SQL了。 merge 命令可以用来用一个表中的数据


自从版本9i之后,对于“有则更新,无则插入”有了一个新的用法,不需要再执行2次SQL了。 merge 命令可以用来用一个表中的数据来

自从版本9i之后,对于“有则更新,无则插入”有了一个新的用法,不需要再执行2次SQL了。

merge 命令可以用来用一个表中的数据来修改或者插入到另一个表。插入或者修改的操作取决于on子句的条件。MERGE INTO本来应该是用来合并表的,不过因为其特性,根据用途不同可以用在以下场合:

关键字、参数

into 子句
在into子句中指定所要修改或者插入数据的目标表

using 子句
在using子句中指定用来修改或者插入的数据源。数据源可以是表、视图或者一个子查询语句。

on 子句
在on子句中指定执行插入或者修改的满足条件。在目标表中符合条件的每一行,Oracle用数据源中的相应数据修改这些行。对于不满足条件的那些行,oracle则插入数据源中相应数据。

when matched | not matched
用该子句通知oracle如何对满足或不满足条件的结果做出相应的操作。可以使用以下的两类子句。

1.合并表
2.外部数据插入更新
3.用JOIN表更新

各种情况下的
1.合并表
把表格T2的数据合并到表格T1里,根据结合条件,如果存在则更新,不存在则插入

MERGE INTO T1

USING T1 ON(

T1.user_id = T2.user_id

)

WHEN MATCHED THEN

UPDATE SET

T1.user_nm = T2.user_nm

WHEN NOT MATCHED THEN

INSERT

(user_id,user_nm)

VALUES

(T2.user_id,T2.user_nm)

2.外部数据插入更新

根据外部传进来的参数,如果存在的话,用给定的参数更新,如果不存在则插入

MERGE INTO T1

USER DUAL ON(

T1.user_id = '001'

)

WHEN MATCHED THEN

UPDATE SET

T1.user_nm = 'David Vi'

WHEN NOT MATCHED THEN

INSERT

(user_id, user_nm)

VALUES

('001','David Vi')

3.用JOIN表更新
这个其实和第一个应用差不多,就是USING内部是个多个表进行结合的子表,根据多个表的结合查询然后对对象表进行更新。

对于第1,3应用有个问题,就是更新对象表和USING表(子表)是1:N的关系的话,无法更新。
另外,对于第3个应用,不如用VIEW更新来的快。

文档

Oracle中MERGEINTO的用法

Oracle中MERGEINTO的用法:自从版本9i之后,对于有则更新,无则插入有了一个新的用法,不需要再执行2次SQL了。 merge 命令可以用来用一个表中的数据来 自从版本9i之后,对于有则更新,无则插入有了一个新的用法,不需要再执行2次SQL了。 merge 命令可以用来用一个表中的数据
推荐度:
标签: 使用 用法 oracle
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top