oracle 用存储过程将某一些表里面的数据查出来之后,批量插入另一张大表中,并判断,若有些已经存在的数据
oracle用存储过程将某一些表里面的数据查出来之后,批量插入另一张大表中,并判断,若有些已经存在的数据,则做更新操作大威大侠帮帮忙!很急...
oracle 用存储过程将某一些表里面的数据查出来之后,批量插入另一张大表中,并判断,若有些已经存在的数据,则做更新操作
大威大侠帮帮忙!很急 展开
大威大侠帮帮忙!很急 展开
2个回答
展开全部
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了,你试下吧
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了,你试下吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |