Bonjour,
je construis dans une procédure stockée un tableau d'éléments composites :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
DROP TYPE IF EXISTS horaire_periode CASCADE;
CREATE TYPE horaire_periode AS
(
    date_debut      timestamp without time ZONE,
    date_fin        timestamp without time ZONE,
    est_particulier BOOLEAN,
    est_travaille   BOOLEAN
);
ALTER TYPE horaire_periode OWNER TO "admin";

--> periodes horaire_periode[];

J'aimerai trier ce tableau selon le critère date_debut par exemple. J'ai vu quelques exemples sur Internet, dont celui-ci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT ARRAY(
    SELECT $1[s.i] AS "foo"
    FROM
        generate_series(array_lower($1,1), array_upper($1,1)) AS s(i)
    ORDER BY foo
);
Mais je n'arrive pas à l'adapter à mon cas (car je ne comprends pas tout). Merci