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 :

pb insertion de données


Sujet :

PostgreSQL

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 57
    Par défaut pb insertion de données
    bonjour,

    voici un type de requete d'insertion :

    insert into matable (nom_de_colonne_1, nom_de_colonne_3) values ('truc muche','machin chose')

    je voudrai executer cette requete dans une application java sans passer par les noms de colonnes : je souhaite par exemple renseigner les noms de colonnes par leur numero mais apparemment ce n'est pas possible :

    insert into matable (1, 3) values ('truc muche','machin chose')

    ou alors, peut-etre y aurait-il un moyen avec java dexécuter une insertion sur les numeros de colonnes ?

    ou encore, avec postgresql, existe-t-il une commande qui retourne les noms des colonnes d'une table ?

    quand pensez vous ?

  2. #2
    Membre éclairé Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Par défaut
    Tu peux faire une insertion en fonction de l'ordre supposé des colonnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into matable values ('truc muche','machin chose');

  3. #3
    Membre expérimenté
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par défaut
    je suppose que dans ton exemple il y a une colonne 2 que tu ne veux pas renseigner, c'est ça ?

    Dans ce cas là ça serait plutot du style :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into matable values ('truc muche','','machin chose');

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 57
    Par défaut
    comprends pas !

    si je veux insérer dans la 1ere et dans la 3e par exemple, il faut bien que je l'indique quelque part.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par défaut
    en fait le insert (si tu ne précise pas les champs qu'il faut remplir) insère dans l'ordre des champs tes valeurs. Je m'explique : si tu ne précises pas tes champs, il va insérer ta valeur 1 dans le champ 1, ta valeur 2 dans le champ 2, ...
    poru simplifier dans l'exemple de snoop, cela aurait insérer 'truc_muche' dans ton champ 1 et 'machin chose' dans ton champ 2 alors que si j'ai bien compris tu aurais voulu insérer 'machin chose' dans ton champ 3, non ?

  6. #6
    Membre Expert
    Avatar de hpalpha
    Inscrit en
    Mars 2002
    Messages
    769
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 769
    Par défaut
    pourquoi ne pas utiliser un prepare statement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PREPARE ajouteramatable (text, text) AS INSERT INTO matable VALUES($1, $2);
    EXECUTE  ajouteramatable('truc muche','machin chose');
    EXECUTE  ajouteramatable('truc muche fdsfds','machin chose f4f5ds');
    EXECUTE  ajouteramatable('truc muche 544hgh','machin chose fdsfds');
    DEALLOCATE ajouteramatable;
    Tu peux faire ton prepare à l'initialisation, tu y liste tes colonnes et apres juste appeler "ajouteramatable'" quand tu veux.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 57
    Par défaut
    mais oui bien sur, je suis trop bete.

    bien vu merci beaucoup.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/05/2004, 14h32
  2. problème d'insertion de données
    Par Falgan dans le forum ASP
    Réponses: 2
    Dernier message: 06/04/2004, 09h29
  3. [Interbase 7] Problème d'insertion de données
    Par Tuscelan dans le forum InterBase
    Réponses: 12
    Dernier message: 19/11/2003, 22h58
  4. insertion de données
    Par m-l dans le forum SQL
    Réponses: 9
    Dernier message: 25/07/2003, 13h59
  5. [Postgresql] pb lors d'insertion de données
    Par bob20000 dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/11/2002, 15h33

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