批量立即收集限制



用于在数百万个记录上操作的我要限制500,但以下代码会出现错误。错误报告:ORA-06550:第6行,第49列:PLS-00103:期望以下一个时遇到符号"限制":

DECLARE
    TYPE EMP_T IS TABLE OF NUMBER;
    EMP_ID EMP_T;
    QRY VARCHAR2(4000):='SELECT EMPLOYEE_ID FROM EMPLOYEES';
begin   
    execute immediate QRY bulk collect into EMP_ID LIMIT 500;
END;    

这不是使用限制子句的方法。我认为您不能立即使用批量收集中的限制子句。批量收集立即执行的限制

示例:

DECLARE
    TYPE EMP_T IS TABLE OF NUMBER;
    EMP_ID EMP_T;
    CURSOR c_data IS SELECT empid FROM EMPLOYEE;
begin   
OPEN c_data;
  LOOP
    FETCH c_data
    BULK COLLECT INTO EMP_ID LIMIT 100;
    EXIT WHEN EMP_ID.count = 0;
    -- Process contents of collection here.
    DBMS_OUTPUT.put_line(EMP_ID.count || ' rows');
  END LOOP;
  CLOSE c_data;
END;
/

相关内容

  • 没有找到相关文章

最新更新