ORACLE 将结果集封装复制给数组

 Oracle日常开发时,会遇到一些奇奇怪怪的需求,本次就遇到了一个需要将结果集赋值给一个数组,然后利用数组进行后续操作的方法,具体如下:

DECLARE
  TYPE NUM_ARR IS VARRAY(15) OF NUMBER(15);
  JOBIDS NUM_ARR;
BEGIN
  SELECT JOB_ID BULK COLLECT INTO JOBIDS FROM JOB_HEAD WHERE CREATE_DATE >= SYSDATE - 20;
  DBMS_OUTPUT.put_line(JOBIDS(14));
END;

首先声明一个数组 ,然后利用关键字 bult collect into 进行封装,最后调用。

其中bulk collect 可以将查询结果一次性地加载到collections中,然后调用,顺带一提,采用这种一次将结果封装到一个结果集中,使用起来,性能会比游标好很多,具体可参照前人范例1,范例2

输出结果如下图:

ORACLE 将结果集封装复制给数组_第1张图片

你可能感兴趣的:(工作总结)