gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 01:45:45 25 4
gpt4 key购买 nike

我想在 PL/SQL 中执行 SQL 查询并将结果填充到关联数组中,其中 SQL 中的列之一成为关联数组中的键。例如,假设我有一张 table Person带列

PERSON_ID   INTEGER      PRIMARY KEY
PERSON_NAME VARCHAR2(50)

...和值(value)观,如:
 PERSON_ID  |  PERSON_NAME
------------------------
6 | Alice
15 | Bob
1234 | Carol

我想将此表批量收集到 TABLE OF VARCHAR2(50) INDEX BY INTEGER这样 key 6在这个关联数组中具有值 Alice等等。这可以在 PL/SQL 中完成吗?如果是这样,如何?

最佳答案

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

这是后者的示例:

  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;

关于oracle - PL/SQL 批量收集到具有稀疏键的关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2715736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com