且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

PL/SQL 批量收集到具有稀疏键的关联数组中

更新时间:2023-10-07 09:17:58

不,您必须使用 2 个集合(id、名称)或元素类型为记录的集合.

No, you have to use either 2 collections (id, name) or one whose element type is a record.

以下是后者的示例:

  cursor getPersonsCursor is
    SELECT ID, Name
    FROM   Persons
    WHERE  ...;

  subtype TPerson is getPersonsCursor%rowtype;
  type TPersonList is table of TPerson;
  persons TPersonList;
begin

open getPersonsCursor;
fetch getPersonsCursor
  bulk collect into persons;
close getPersonsCursor;

if persons.Count > 0 then
  for i in persons.First .. persons.Last loop
    yourAssocArray(persons(i).ID) := persons(i).Name;
  end loop;
end if;