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 :

Variable dans script SQL+question encoding


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 85
    Points : 46
    Points
    46
    Par défaut Variable dans script SQL+question encoding
    Bonjour,

    J'ai un script que je lance via psql et dans lequel je crée entre autre un tablespace

    Comment puis je passer en parmètre le rep sur lequel s'appuie mon tablespace à parti d'un .bat

    en gros dans mon .bat je fais

    psql -U <User> -w -v <VAR>=%VARCHEMIN% -f <scriptsql>

    et dans le script sql

    CREATE TABLESPACE BaseDeTest
    OWNER postgres
    LOCATION :VAR;

    visiblement VAR n'est pas compris comme une variable

    j'ai essayé avec les cotes

    CREATE TABLESPACE BaseDeTest
    OWNER postgres
    LOCATION ':VAR';

    j'ai mis \set dans le script SQL

    je reçois la bonne chaine de caractère

    H:/toto

    mais il me met un ^ sous le H comme si la lettre n'était pas compréhensible

    c'est peut être un problème d'encoding


    merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Le problème est que dans ':VAR', la variable n'est pas interpolée (=recherchée et remplacée par sa valeur) parce qu'elle est à l'intérieur d'une chaîne.
    La solution est d'intégrer les apostrophes dans la variable elle-même.

    dans le script .BAT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set empl='H:\chemin\...'
    psql [options] -v var=%empl%
    et dans le script sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE etc... TABLESPACE :var;

  3. #3
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 85
    Points : 46
    Points
    46
    Par défaut cinq iou
    very meuche

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

Discussions similaires

  1. variable dans requete SQL pour delphi
    Par socooooool dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/01/2013, 11h27
  2. Variable dans script SQL
    Par lio33 dans le forum Outils
    Réponses: 1
    Dernier message: 08/06/2007, 14h35
  3. [MySQL] Introduire une variable dans requête SQL, insérer des données à la volée
    Par Ronan.f dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 29/04/2006, 22h10
  4. Variables dans un .sql exécuté par sqlplus
    Par ekke dans le forum Oracle
    Réponses: 10
    Dernier message: 12/04/2006, 17h03
  5. une variable dans du SQL ??
    Par Black Pearl dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/06/2005, 12h55

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