ORACLE MERGE INTO (2)
发布日期:2025-04-29 12:27:19 浏览次数:17 分类:精选文章

本文共 2675 字,大约阅读时间需要 8 分钟。

Oracle MERGE???????????????

??????????????????????????????????????????Oracle???MERGE???????????????????????????????Oracle 9i?Oracle 10g???????????MERGE???????????????

1. MERGE???????

?Oracle??MERGE??????????

MERGE INTO products pUSING newproducts npON (p.product_id = np.product_id)WHEN MATCHED THEN    UPDATE SET p.product_name = np.product_name,              p.category = np.categoryWHEN NOT MATCHED THEN    INSERT VALUES (np.product_id, np.product_name, np.category)

????????????????????????????product_id????????????????????????????MERGE?????????????????????????????

2. ??????

2.1 ????

?????????MERGE??????????

-- ?????????MERGE INTO products pUSING newproducts npON (p.product_id = np.product_id)WHEN NOT MATCHED THEN    INSERT VALUES (np.product_id, np.product_name, np.category)

??????newproducts???????????products?????product_id?????????????

2.2 ????

?????????MERGE???????????????

-- ?????????MERGE INTO products pUSING newproducts npON (p.product_id = np.product_id)WHEN MATCHED THEN    UPDATE SET p.product_name = np.product_name,              p.category = np.category

????newproducts??????products?????????????????product_name?category???

3. ??????????

??????????????MERGE???????????

3.1 ?????????
-- ?????????????MERGE INTO products pUSING newproducts npON (p.product_id = np.product_id)WHEN MATCHED THEN    UPDATE SET p.product_name = np.product_name,              p.category = np.category              WHERE p.category = 'DVD'WHEN NOT MATCHED THEN    INSERT VALUES (np.product_id, np.product_name, np.category)              WHERE np.category != 'BOOKS'

??????????category?'DVD'????????????category?'BOOKS'????

3.2 ????????

????????????????????

-- ????????MERGE INTO products pUSING newproducts npON (1 = 0)  -- ??????WHEN NOT MATCHED THEN    INSERT VALUES (np.product_id, np.product_name, np.category)              WHERE np.category = 'BOOKS'

ON (1 = 0)? Oracle ?????????????????????????????????????

4. DELETE???MERGE

???????MERGE?????DELETE??????????

-- ????????MERGE INTO products pUSING newproducts npON (p.product_id = np.product_id)WHEN MATCHED THEN    UPDATE SET p.product_name = np.product_name,              p.category = np.category              WHERE p.category = 'ELECTRNCS'WHEN NOT MATCHED THEN    INSERT VALUES (np.product_id, np.product_name, np.category)WHEN OTHERS THEN    DELETE WHERE (p.category = 'ELECTRNCS')

???WHEN OTHERS???????????????????????newproducts?????

5. ????

???MERGE?????????????

  • ?????MERGE????????Commit?????DML????????BEGIN...COMMIT??????????
  • ??????????????????????????????????????
  • ??????????????????????????????????????????????
  • 6. ??

    ??????MERGE?????????????????????????????????????Oracle ???????????????MERGE????????????????

    上一篇:oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate
    下一篇:Oracle JDK vs OpenJDK

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2026年06月20日 10时06分00秒