Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Thu 26 August 2021 14:39

neskuik01
Participant assidu
Date d'inscription: 16 Feb 2015
Messages: 195

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: 1536

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: 195

Re: utiliser des variables en Postgresql

Nicolas Ribot a écrit:

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: 195

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: 1536

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: 195

Re: utiliser des variables en Postgresql

Nicolas Ribot a écrit:

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

 

Pied de page des forums

Powered by FluxBB