本文共 2675 字,大约阅读时间需要 8 分钟。
??????????????????????????????????????????Oracle???MERGE???????????????????????????????Oracle 9i?Oracle 10g???????????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?????????????????????????????
?????????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?????????????
?????????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???
??????????????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 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'????
????????????????????
-- ????????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 ?????????????????????????????????????
???????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?????
???MERGE?????????????
BEGIN...COMMIT????????????????MERGE?????????????????????????????????????Oracle ???????????????MERGE????????????????
转载地址:http://cvpfk.baihongyu.com/