一级女人毛片人一女人-一级女性大黄生活片免费-一级女性全黄久久生活片-一级女性全黄生活片免费-国产美女在线一区二区三区-国产美女在线观看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

Oracle merge into用法及例子

發(fā)布時間:  2012/8/13 16:15:26

 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;

  創(chuàng)建測試數(shù)據(jù)表:

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

  向表中插入數(shù)據(jù):

  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;

  查詢結(jié)果如下:

  1 jan 23

  2 kk 22

  3 joe 27

  創(chuàng)建另一新表

  create table tj_test1 as select * from tj_test where 1=0

  插入一條數(shù)據(jù)

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

  select * from tj_test1

  查詢結(jié)果如下:

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

  使用MERGE,實現(xiàn)有則更新,無則插入,sql語句如下:

  merge into tj_test1 tt1

  using tj_test tt

  on (tt1.id=tt.id)

  when matched then

  update set

  tt1.name=tt.name,

  tt1.age=tt.age

  when not matched then

  insert values(

  tt.id,

  tt.name,

  tt.age)

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

  select * from tj_test1

  改變行數(shù)據(jù)如下:

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

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

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

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

  9i已經(jīng)支持了,是Merge,但是只支持select子查詢,

  如果是單條數(shù)據(jù)記錄,可以寫作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

  AND c.period = cu.period)

  WHEN MATCHED THEN

  UPDATE

  SET c.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);


本文出自:億恩科技【www.laynepeng.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線