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 :

exécuter automatiquement un .sql dans base


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut exécuter automatiquement un .sql dans base
    Bonjour à tous,

    Je suis actuellement en train de réaliser un projet qui me demande de travailler avec un fichier .sql qui contient des insert de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO questions (`qid`, `sid`, `gid`, `type`, `title`, `question`, `preg`, `help`, `other`, `mandatory`, `lid`) VALUES ('11', '2', '6', 'L', 'Q-02', 'A quel corps appartenez-vous ?', '', '', 'N', 'Y', '0');
    INSERT INTO questions (`qid`, `sid`, `gid`, `type`, `title`, `question`, `preg`, `help`, `other`, `mandatory`, `lid`) VALUES ('12', '2', '6', 'L', 'Q-03', 'Votre catégorie ?', '', '', 'N', 'Y', '0');
    INSERT INTO questions (`qid`, `sid`, `gid`, `type`, `title`, `question`, `preg`, 'help`, `other`, `mandatory`, `lid`) VALUES ('13', '2', '6', 'S', 'Q-04', 'Votre service ?', '', '', 'N', 'N', '0');
    ...et je voulais savoir s'il y avait un moyen pour qu'automatiquement ce fichier .sql s'ajoute à ma base de données déjà crée dans postgres pour s’exécuter (là aussi automatiquement) et ainsi mettre à jour ma table "questions" ici par exemple...?

    Merci d'avance!

  2. #2
    Membre Expert
    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
    Par défaut
    D'après la syntaxe de l'INSERT, ces commandes sont destinées à une base MySQL et non PostgreSQL, non?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut
    Oui oui c'est bien sous la forme MySQL...C'est bien ça le problème non?

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bah, c'est plus un problème lié à votre OS qu'a postgresql.

    Vous allez devoir reformater la syntaxe MySql pour que pg la comprenne (avec un programme externe), puis vous pourrez l'executer (avec pgsql).

    tout ceci à lancer dans un script.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut
    Je pensais créer un petit script (en bash par exemple) qui reformaterait justement le fichier pour le mettre sous la syntaxe PostgreSQL...
    Est-ce envisageable? Et surtout qu'aurais-je à supprimer/modifier de la syntaxe MySQL pour l'adapter à PostgreSQL? (seulement les ' il me semble non?)

    Puis je voulais créer un autre script (en php celui ci par contre) pour récupérer le fichier .sql sous la bonne syntaxe et faire exécuter les requêtes qui sont à l’intérieur.
    Est-ce envisageable là aussi? Avec quelle(s) fonction(s)?

    Merci encore!

  6. #6
    Membre Expert
    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
    Par défaut
    Oui il faut enlever les quotes inversées autour des noms de colonnes.

    Sinon pour exécuter le fichier résultant, il y a déjà un interpréteur de commandes, un programme qui s'appelle psql, qui peut se connecter à la base de données, et permet de "jouer" le fichier SQL.

Discussions similaires

  1. [PHP 5.0] Exécuter une requête SQL dans une fonction Javascript
    Par PrinceMaster77 dans le forum Langage
    Réponses: 13
    Dernier message: 08/07/2011, 04h53
  2. [AC-2003] Exécuter une Requête SQL dans VBA
    Par domik dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 24/08/2010, 13h22
  3. est il possible d'exécuter un fichier .sql dans action script ?
    Par wannabi dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 01/09/2008, 15h16
  4. Exécuter un fichier SQL dans Access
    Par FredFrance21 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 11/01/2008, 13h37
  5. Réponses: 5
    Dernier message: 16/03/2006, 00h37

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