sql – 批量插入Oracle数据库:哪个更好:FOR Cursor循环还是简单选择?

哪个是批量插入Oracle数据库的更好选择?
一个FOR Cursor循环就像
DECLARE
   CURSOR C1 IS SELECT * FROM FOO;
BEGIN
   FOR C1_REC IN C1 LOOP
   INSERT INTO BAR(A,B,C)
          VALUES(C1.A,C1.B,C1.C);
   END LOOP;
END

或简单的选择,如:

INSERT INTO BAR(A,C)
        (SELECT A,C
        FROM FOO);

有什么特别的理由会更好吗?

解决方法

我建议使用Select选项,因为游标需要更长时间。 对于必须修改查询的任何人来说,使用Select也更容易理解

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...