【发布时间】:2013-07-09 16:01:57
【问题描述】:
我有一个有 40 列的表“A”。我需要将数据从 'A' 的 20 个特定列复制到另一个具有这 20 列的表 'B'。将有大约 3 到 1000 万条记录。 在 PLSQL 中执行此操作的最有效方法是什么。
【问题讨论】:
-
为什么选择 PL/SQL,为什么不直接使用 SQL
insert into ... select ...? -
您选择的标签表明您已经有了答案。您对我们有什么期待?
-
是的,我使用 BULK COLLECT 和 FORALL 实现了它。我想知道有什么办法可以调整它以提高效率。
-
@cool_mo 是的,你可以改进。使用 SQL 语句。如果必须,从 PL/SQL 块运行它,它会正常工作。
-
@ the_slk 所以 INSERT INTO SELECT A.c1 , A.c2 from A (in a PLSQL block) ,这会比在 PLSQL 块中使用 BULK COLLECT 更有效吗?
标签: sql oracle plsql forall bulk-collect