日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

oracle 实例用法,Oracle merge into用法以及相关例子示例

發布時間:2025/3/12 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 实例用法,Oracle merge into用法以及相关例子示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下的文章主要是對Oracle merge into用法以及相關例子的介紹,首先我們以Oracle 9I中加入MERGE入手,以下就是文章的具體內容的分析,希望你瀏覽完之后會給你帶來一些幫助在此方面。

語法:

MERGE?[hint]?INTO?[schema?.]?table?[t_alias]

USING?[schema?.]?{?table?|?view?|?subquery?}?[t_alias]

ON?(?condition?)

WHEN?MATCHED?THEN?merge_update_clause

WHEN?NOT?MATCHED?THEN?merge_insert_clause;

創建測試數據表:

create?table?tj_test(id?number,name?varchar2(20),age?number);

向表中插入數據:

insert?into?tj_test?values?(1,'jan',23);

insert?into?tj_test?values?(2,'kk',22);

insert?into?tj_test?values?(3,'joe',27);

select?*?from?tj_test;

查詢結果如下:

1 jan 23

2 kk 22

3 joe 27

創建另一新表

create?table?tj_test1?as?select?*?from?tj_test?where1=0

插入一條數據

insert?into?tj_test1?values?(1,'jlk',23);

select?*?from?tj_test1

查詢結果如下:

1 jkl 23 --注意,這里的的NAME字段中的值是jkl

Oracle merge into用法使用MERGE,實現有則更新,無則插入,sql語句如下:

merge?into?tj_test1?tt1

using?tj_test?tt

on?(tttt1.id=tt.id)

when?matched?then

update?set

tttt1.name=tt.name,

tttt1.age=tt.age

when?not?matched?then

insert?values(

tt.id,

tt.name,

tt.age)

查詢tj_test1表(對比原來表中的數據,更新了ID=1 ROW中字段NAME,同時多出兩條新數據)

select?*?from?tj_test1

改變行數據如下:

1 jan 23 --這里的原有jkl值被更新

3 joe 27 --原來表中沒有的插入

2 kk 22 --原來表中沒有的插入

如果存在就更新,不存在就插入

9i已經支持了,是Merge,但是只支持select子查詢,

如果是單條數據記錄,可以寫作select …… from dual的子查詢。

語法為:

MERGE?INTO?table

USING?data_source

ON?(condition)

WHEN?MATCHED?THEN?update_clause

WHEN?NOT?MATCHED?THEN?insert_clause;

如:

MERGE?INTO?course?c

USING?(SELECT?course_name,?period,

course_hours

FROM?course_updates)?cu

ON?(c.course_name=cu.course_name

ANDc.period=cu.period)

WHEN?MATCHED?THEN

UPDATE

SETc.course_hours=cu.course_hours

WHEN?NOT?MATCHED?THEN

INSERT?(c.course_name,?c.period,

c.course_hours)

VALUES?(cu.course_name,?cu.period,

cu.course_hours);

以上的相關內容就是對Oracle merge into用法及例子的介紹,望你能有所收獲。

【編輯推薦】

【責任編輯:孫巧華 TEL:(010)68476606】

點贊 0

總結

以上是生活随笔為你收集整理的oracle 实例用法,Oracle merge into用法以及相关例子示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。