gpt4 book ai didi

arrays - 如何在 PL/SQL 中手动初始化 RECORD 集合?

转载 作者:行者123 更新时间:2023-12-02 05:21:08 24 4
gpt4 key购买 nike

伙计们。这是 PL/SQL 中的一个简单的二维数组示例,它运行良好。

declare
type a is table of number;
type b is table of a;

arr b := b(a(1, 2), a(3, 4));
begin
for i in arr.first .. arr.last loop
for j in arr(i).first .. arr(i).last loop
dbms_output.put_line(arr(i) (j));
end loop;
end loop;
end;

我需要做的是为 RECORDS 表创建类似的内容。像这样:

 type a is record(a1 number, a2 number);
type b is table of a;

问题是,我可以手动初始化这种数组,还是应该用bulkcollects或类似的东西来填充?与上面相同的语法似乎不起作用,并且我无法在手册中找到任何初始化示例。

最佳答案

RECORD 没有“构造函数”语法,因此您必须像这样填充它们:

declare
type a is record(a1 number, a2 number);
type b is table of a;
arr b := b();
begin
arr.extend(2);
arr(1).a1 := 1;
arr(1).a2 := 2;
arr(2).a1 := 3;
arr(2).a2 := 4;
end;

关于arrays - 如何在 PL/SQL 中手动初始化 RECORD 集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3707140/

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