/ / Postgresql enregistrer le résultat de la requête dans un tableau 2d - tableaux, postgresql, 2d

Postgresql sauvegarde le résultat de la requête dans un tableau 2d - tableaux, postgresql, 2d

Je voudrais créer un tableau 2D à l'intérieur d'une fonction et le remplir avec les valeurs de l'instruction select. J'essaie ce code et je me retrouve avec un tableau à une dimension. Qu'est-ce que je fais mal?

select array(select a from t a)
=====================================
"{"(1,stxt,varchar)","(2,sint,int)"}"


create or replace function __test(
) returns text
language "plpgsql" as
$$
declare
_dat varchar[][];

begin

_dat = (select array(select a from t a));

return array_dims(_dat);

end;
$$;


select __test();
===========
"[1:2]"

Je m'attendais à ce que la dernière commande renvoie [1: 2] [1: 3] pour deux lignes de trois colonnes.

Réponses:

1 pour la réponse № 1

PostgreSQL ne supporte qu’un seul type de tableau - vous ne pouvez donc prendre que tableau de rangées / vous ne pouvez pas utiliser un tableau 2D comme vous le feriez. Il n’ya aucun moyen de le faire correctement maintenant.