Vous n'êtes pas identifié(e).

#1 27/11/2020 20:26:38

Dev_France
Membre

Création d'une fonction retournant une table

Bonjour,


Mon contexte :
J'ai actuellement plusieurs tables dans ma base de données.
La plupart d'entres elles ont un champ DateInsertion.


Mon besoin :
Je souhaiterai créer une fonction qui me donne pour chacune des tables le max(DateInsertion) quand celui-ci existe, et qui me met un null si ce champ n'existe pas.
Je souhaite donc appliquer la requête SELECT MAX(DateInsertion) FROM x, où x est le résultat de la requête SELECT schemaname FROM pg_stat_user_tables
En sortie, je veux le résultat sous la forme d'une table.


Ma requête SELECT relname FROM pg_stat_user_tables
relname
DimCategorie
DimRegion
DimClient
DimProduit


Ma requête demandée
relname |  DateInsertion
DimCategorie | 11-02-2020
DimRegion | 14-02-2020
DimClient |
DimProduit | 19-02-2020


Je me demande d'ailleurs s'il est possible de faire cela dans une requête SQL simple.


Merci à vous

Dernière modification par Dev_France (27/11/2020 20:28:59)

Hors ligne

#2 27/11/2020 22:46:43

gleu
Administrateur

Re : Création d'une fonction retournant une table

Avec une requête SQL seule, ce n'est pas possible, mais avec une fonction, par exemple en PL/pgsql, c'est tout à fait possible. La documentation de ce langage se trouve sur https://docs.postgresql.fr/13/plpgsql.html


Guillaume.

Hors ligne

Pied de page des forums