尝试下面的代码将记录从一个表复制到另一个表, 第一个表是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;
执行成功但第二个表中没有记录。
任何人都可以告诉我上述程序有什么问题吗?