#1 Thu 26 August 2021 14:39
- neskuik01
- Participant assidu
- Date d'inscription: 16 Feb 2015
- Messages: 199
utiliser des variables en Postgresql
Bonjour,
Est-ce-qu'il est possible d'utiliser des variables dans un script sql ? en gros utiliser des variables pour le nom des tables ? Je sais que sur pgsl il suffit de mettre SET nom variable = valeur variable. Mais dans postgresql ?
Hors ligne
#2 Thu 26 August 2021 15:12
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1555
Re: utiliser des variables en Postgresql
Bonjour,
Non, en SQL pur ce n'est pas possible.
Vous pouvez le faire avec un langage de programmation (plpgsql ou autre) ou un client qui sait traiter ces variables avant d'envoyer le sql au server (comme psql ou datagrip)
Nicolas
Hors ligne
#3 Thu 26 August 2021 16:04
- neskuik01
- Participant assidu
- Date d'inscription: 16 Feb 2015
- Messages: 199
Re: utiliser des variables en Postgresql
Bonjour,
Non, en SQL pur ce n'est pas possible.
Vous pouvez le faire avec un langage de programmation (plpgsql ou autre) ou un client qui sait traiter ces variables avant d'envoyer le sql au server (comme psql ou datagrip)
Nicolas
mhh je vois
Hors ligne
#4 Thu 26 August 2021 16:08
- neskuik01
- Participant assidu
- Date d'inscription: 16 Feb 2015
- Messages: 199
Re: utiliser des variables en Postgresql
Donc créer un champs avec un préfix_2025 (pour la période 2020 à 2025 etc) c'est pas possible sauf en passant par un langage externe
Hors ligne
#5 Thu 26 August 2021 17:18
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1555
Re: utiliser des variables en Postgresql
Pas forcément externe: pl/pgsql le langage procedural de PG est installé par défaut sur toutes les instances recentes.
Vous pouvez donc écrire une fonction ou un bloc anonyme dans votre script SQL pour faire ce que vous voulez et il s'exécutera sur PG quelque soit le client utilisé
Code:
do $$ declare ... begin create table ....; end; $$ language plpgsql;
Nicolas
Hors ligne
#6 Thu 26 August 2021 17:36
- neskuik01
- Participant assidu
- Date d'inscription: 16 Feb 2015
- Messages: 199
Re: utiliser des variables en Postgresql
Pas forcément externe: pl/pgsql le langage procedural de PG est installé par défaut sur toutes les instances recentes.
Vous pouvez donc écrire une fonction ou un bloc anonyme dans votre script SQL pour faire ce que vous voulez et il s'exécutera sur PG quelque soit le client utiliséCode:
do $$ declare ... begin create table ....; end; $$ language plpgsql;Nicolas
Top ! je connaissais cette procédure avec des fonctions mais j'ignorais le "do". Merci !!
Hors ligne