BULK收集操作无法将记录从一个表复制到另一个表

时间:2014-03-07 12:02:04

标签: sql oracle bulkinsert sqlbulkcopy

尝试下面的代码将记录从一个表复制到另一个表, 第一个表是process_state,第二个表是process_state_archive

 CREATE OR REPLACE PROCEDURE fast_proc (p_array_size IN PLS_INTEGER DEFAULT 100)
 IS
 TYPE ARRAY IS TABLE OF process_state%ROWTYPE;
 l_data ARRAY;
 CURSOR c IS SELECT * FROM process_state;
 BEGIN
   OPEN c;
   LOOP
   FETCH c BULK COLLECT INTO l_data LIMIT p_array_size;
   FORALL i IN 1..l_data.COUNT
   INSERT INTO process_state_archive VALUES l_data(i);
   commit;
   EXIT WHEN c%NOTFOUND;
   END LOOP;
   CLOSE c;
 END fast_proc;

执行成功但第二个表中没有记录。

任何人都可以告诉我上述程序有什么问题吗?

0 个答案:

没有答案