PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 23/06/2021 15:02:03

Catherine
Membre

Passage d'une variable OS/script psql

Bonjour,

Quel est l'équivalent du "&" sous Oracle pour traiter dans un script psql une variable transmise par un fichier de commande de l'OS ?

Merci beaucoup, cordialement, Catherine.

Hors ligne

#2 23/06/2021 15:15:48

gleu
Administrateur

Re : Passage d'une variable OS/script psql

Je ne connais pas la signification du & sous Oracle. Par contre, une variable dans psql nécessite un deux-points devant. Voir https://docs.postgresql.fr/current/app- … ERPOLATION pour les détails.


Guillaume.

Hors ligne

#3 23/06/2021 15:54:52

Catherine
Membre

Re : Passage d'une variable OS/script psql

Bonjour,

Merci pour cette réponse, la variable préfixée de ":" peut provenir d'un fichier de commande de l'OS?

A fait, comment s'appelle la table bidon (dual sous Oracle) ? Merci encore, Catherine.

Ci-dessous, un exemple Oracle avec 2 variables transmises par un batch  :

Spool &1.-Aiguillage.Log
/

Column Aiguillage    new_value NeueAiguillage
Column Chemin         new_value NeueChemin 
Column Espace         new_value NeueEspace

Select EDITIONS.Fnc_CNAV_SNGI_Aiguillage('&2') Aiguillage From Dual; 
@&NeueAiguillage

Spool Off;

Quit
/

Hors ligne

#4 23/06/2021 15:59:35

rjuju
Administrateur

Re : Passage d'une variable OS/script psql

Merci pour cette réponse, la variable préfixée de ":" peut provenir d'un fichier de commande de l'OS?

Qu'entendez-vous par "fichier de commande de l'OS" ?


A fait, comment s'appelle la table bidon (dual sous Oracle) ? Merci encore, Catherine.


Sur postgres une requête SQL n'a pas besoin de spécifier une table pour être valide.  SELECT 1; est donc parfaitement acceptable par exemple.

Hors ligne

#5 23/06/2021 16:07:22

Catherine
Membre

Re : Passage d'une variable OS/script psql

Bonjour,

Je voulais savoir si un .bat (Windows) ou .sh (Linux) peut appeler le script psql avec 1, 2 ... n paramètres qui sont reçus et utilisés dans un script (via "&" pour Oracle et ":" pour psql)  ?

Merci, Catherine.

Hors ligne

#6 23/06/2021 17:18:29

dverite
Membre

Re : Passage d'une variable OS/script psql

Pour passer des paramètres à psql en ligne de commande on utilise typiquement l'option -v

$ psql -v nom_du_param="valeur du param"  [autres options]

Et nom_du_param devient une variable psql comme si elle était créée avec la commande \set

Hors ligne

#7 25/06/2021 14:21:23

Catherine
Membre

Re : Passage d'une variable OS/script psql

Merci, Daniel,

Et dans le script il est utilisé avec ":" ?

Par exemple, Select * From [MaTable] Where [MaColonne] = :[MonNomDeVariable];

Catherine.

Hors ligne

#8 25/06/2021 14:42:26

ioguix
Administrateur

Re : Passage d'une variable OS/script psql

Bonjour,

Dans le script, on utilise la variable avec :nom ou :'nom' ou :"nom" en fonction de la syntaxe voulue en sortie (sans guillemets, avec guillemets simple ou double).

Hors ligne

Pied de page des forums