IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

passage de paramètres psql


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Février 2007
    Messages : 97
    Points : 56
    Points
    56
    Par défaut passage de paramètres psql
    Comment faire pour passer des paramètres à la commande psql?

    Voici ma commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    psql -h 10.x.x.x -p 68xxx -U serveur -o monfichier.csv sxcollecte < ma_requete.sql
    ma_requete.sql:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    \pset format unaligned
    \pset fieldsep ,
    \pset recordsep '\n'
     
    \set datedebut '01102007'
    \set datefin '31102007'
     
    SELECT prestations.nom
    FROM prestations
    WHERE prestations.ladate >= :datedebut
    	AND prestations.ladate <= :datefin
    Mes paramètres a passer son bien évidemment "datedebut" et "datefin"

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 128
    Points : 143
    Points
    143
    Par défaut
    À ma connaissance, ce n'est pas possible. Tu dois passer par un script (shell, python, ce que tu veux) mais pas seulement par psql.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 128
    Points : 143
    Points
    143
    Par défaut
    Oups, je viens de vérifier, et donc je viens de m'apercevoir que je viens de dire une <bip>.

    Tu peux utiliser les options -v <affectation>, --set <affectation> ou encore --variable <affectation> avec affectation de la forme variable=valeur.

    Ce qui donnerait dans ton cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    psql -h 10.x.x.x -p 68xxx -U serveur \
      -o monfichier.csv \
      --set datedebut='01102007' \
      --set datefin='31102007' \
      sxcollecte < ma_requete.sql
    Pour les guillemets simples, je ne suis pas sûr, tu vas devoir tester. Par contre, il faut virer tes \SET du script SQL.

  4. #4
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Février 2007
    Messages : 97
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par gleu_ Voir le message
    Pour les guillemets simples, je ne suis pas sûr, tu vas devoir tester. Par contre, il faut virer tes \SET du script SQL.
    ça fonctionne tel quel!
    Un grand merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58
  2. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo