les gars. Voici un simple exemple de tableau bidimensionnel en PL/SQL, qui fonctionne parfaitement.Comment initialiser manuellement une collection de RECORD en 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;
Ce que je dois faire, est de créer quelque chose de similaire pour une table de RECORDS
. Comme ceci:
type a is record(a1 number, a2 number);
type b is table of a;
La question est, puis-je initialiser manuellement ce type de tableau, ou il est censé être rempli par bulk collects
ou similaire? La même syntaxe que ci-dessus ne semble pas fonctionner, et je n'ai pas pu trouver d'échantillon d'initialisation dans les manuels.
c'est dommage. –
Oui. J'ai rarement utilisé les structures RECORD, à part celles qui sont associées à une table ou un curseur en utilisant% ROWTYPE et qui sont pratiques pour FETCHing. –
hm, eh bien, je les utilise chaque fois que j'ai besoin d'un stockage de données temporaire avec une structure de données connue - cela fait du code une sorte d'auto-commentaire. c'est peut-être une mauvaise pratique. –