oracle 用存储过程将某一些表里面的数据查出来之后,批量插入另一张大表中,并判断,若有些已经存在的数据

oracle 用存储过程将某一些表里面的数据查出来之后,批量插入另一张大表中,并判断,若有些已经存在的数据,则做更新操作
大威大侠帮帮忙!很急

MERGE INTO table1 p
USING table2 np
ON (p.product_id = np.product_id)
WHEN MATCHED THEN
UPDATE
SET p.product_name = np.product_name,

WHEN NOT MATCHED THEN
INSERT
VALUES (np.product_id, np.product_name, np.category)
备注:
table1:是要插入数据的目标表
table2 :是数据的来源表
针对你提出的需求是不用写存储过程的,上面的sql就完全可以实现;当然,你将上面的sql代码
放到过程体里面就OK了,你试下吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-10
楼上正解。