如何使用查询结果填充单维数组?

Csh*_*hah 0 sql arrays oracle cursor

我必须在pl/sql proc中将查询结果填充到数组中.

例如,我有一个employeeId empArr (TYPE empArr IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;),我想用sql语句的结果填充这个数组:

    select empId where dept = 'accounts'. 
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点 ?或者你会建议使用游标来完成这项工作吗?

谢谢Cshah

Dav*_*sta 6

DECLARE
  TYPE empArr IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
  myEmpArr  empArr;

BEGIN

  SELECT empID
    BULK COLLECT INTO myEmpArr
    FROM empTable
    WHERE dept='accounts';

  -- Do your stuff

END;
/
Run Code Online (Sandbox Code Playgroud)