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 :

explication syntaxe requete sur pgsql


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19
    Points : 16
    Points
    16
    Par défaut explication syntaxe requete sur pgsql
    Bonjour,

    je vient de migrer mon site de mysql vers postgresql et j'ai quelque pb avec mes requetes, je ne sait pas si c'est normal et j'aimerai votre avis :

    d'abord j'ai créer un schéma "scprod" dans lequel j'ai toutes mes tables,
    sur mes pages php lors de l'appel d'une table "toto" sa me dit qu'il ne trouve pas !?? apparement pb de search_path...
    au debut de mon script php, j'ajoute donc :
    pg_query("SET search_path TO \"scprod\"");

    ensuite tous fonctionne, est-ce normal d'etre obliger de faire ceci ?

    autre point encore plus genant, si je n'entour pas les noms de tables et champ par des doubles quotes ("), j'obtient un msg comme quoi la table ou le champs n'existe pas !?!

    ex:

    pg_query("select * from \"table\" where \"id\"=1 and \"nom\"='test'")
    c'est vraiment lourd, surtout si je doit modifier toutes mes requetes
    existe t'il une solution, j'ai oublier de configurer quelque chose ?
    pour info j'ai postgresql 7.4 sur debian.

    merci pour votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Re:

    j'ai trouver la réponse à mes questions,
    contrairement à mysql, si le nom des tables ou des champs contient autre chose que des lettre en minuscule, ceux-ci doivent etre entouré par des quotes (pas glop)

    et pour le search_path c'est tous simplement parce que mon schema n'a pas le meme nom que mon identifiant de connexion (pas glob bis)

    je me demande si postresql ne va pas finir par me prendre la tête
    faut quand meme en vouloir pour quitter mysql ...

    a+

  3. #3
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 318
    Points
    318
    Par défaut
    Salut,

    C'est simplement que Postgresql est plus normatif que Mysql. Cf http://sqlpro.developpez.com/cours/s...age=partie1#L1 sur les règles de nommage.

    @+

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

Discussions similaires

  1. Syntaxe requete sur deux tables
    Par mosquitout dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 03/03/2007, 20h31
  2. Réponses: 3
    Dernier message: 17/05/2004, 17h28
  3. requete sur un dossier
    Par vedder dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/03/2004, 14h05
  4. [MS-SQL]requete sur 3 tables
    Par pascalT dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/04/2003, 11h24
  5. Syntaxe requete
    Par Chipolata dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/03/2003, 14h22

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