Oracle中merge用法

來源:互聯網
上載者:User

MERGE語句是Oracle9i新增的文法,用來合并UPDATE和INSERT語句。 通過MERGE語句,根據一張表或子查詢的串連條件對另外一張表進行查詢,串連條件匹配上的進行UPDATE,無法匹配的執行INSERT。這個文法僅需要一次全表掃描就完成了全部工作,執行效率要高於INSERT+UPDATE。

文法

MERGE [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;

1、UPDATE或INSERT子句是可選的

2、UPDATE和INSERT子句可以加WHERE子句

3、在ON條件中使用常量過濾謂詞來insert所有的行到目標表中,不需要串連源表和目標表

4、UPDATE子句後面可以跟DELETE子句來去除一些不需要的行

首先建立樣本表:

create table PRODUCTS

      (

      PRODUCT_ID INTEGER,

      PRODUCT_NAME VARCHAR2(60),

      CATEGORY VARCHAR2(60)

      );

 

      insert into PRODUCTS values (1501, 'VIVITAR 35MM', 'ELECTRNCS');

      insert into PRODUCTS values (1502, 'OLYMPUS IS50', 'ELECTRNCS');

      insert into PRODUCTS values (1600, 'PLAY GYM', 'TOYS');

      insert into PRODUCTS values (1601, 'LAMAZE', 'TOYS');

      insert into PRODUCTS values (1666, 'HARRY POTTER', 'DVD');

      commit;

 

      create table NEWPRODUCTS

      (

      PRODUCT_ID INTEGER,

      PRODUCT_NAME VARCHAR2(60),

      CATEGORY VARCHAR2(60)

      );

 

      insert into NEWPRODUCTS values (1502, 'OLYMPUS CAMERA', 'ELECTRNCS');

      insert into NEWPRODUCTS values (1601, 'LAMAZE', 'TOYS');

      insert into NEWPRODUCTS values (1666, 'HARRY POTTER', 'TOYS');

      insert into NEWPRODUCTS values (1700, 'WAIT INTERFACE', 'BOOKS');

      commit;

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.