熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracle中merge的簡單使用

2013-11-13 22:22:39  來源: Oracle 

  merge在oracle用以從另一張表中取數據插入到一張表中如果兩張表中記錄符合某些條件則替換如果不符合則插入下面的例子是把mergetest中記錄更新到newmergetest如果兩張表的id相同則更新newmergetest否則插入

  首先建兩張測試表

  Sql代碼

  create table mergetest(id number primary keyname varchar());

  create table newmergetest(id number primary keyname varchar());

  往兩張表中插入數據

  Sql代碼

  insert into newmergetest values(first);

  insert into newmergetest values(second);

  insert into mergetest values(one)

  insert into mergetest values(two);

  insert into mergetest values(three);

  運行更新sql語句

  Sql代碼

  MERGE INTO newmergetest m

  using (select * from mergetest) t

  ON (mid = tid)

  WHEN NOT MATCHED THEN

  INSERT VALUES (tidtname)

  WHEN MATCHED THEN

  UPDATE SET mname = tname

  執行完後newmergetest中的記錄將和mergetest中的一致不會因為違反主鍵約束而更新失敗


From:http://tw.wingwit.com/Article/program/Oracle/201311/18926.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.