Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/06/2005, 14h52   #1
Futur Membre du Club
 
Inscription : avril 2005
Messages : 57
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 57
Points : 15
Points : 15
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 ?
funkadelic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2005, 15h38   #2
Membre confirmé
 
Avatar de snoop
 
Inscription : novembre 2003
Messages : 354
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : novembre 2003
Messages : 354
Points : 249
Points : 249
Tu peux faire une insertion en fonction de l'ordre supposé des colonnes :
Code :
1
2
 
INSERT INTO matable VALUES ('truc muche','machin chose');
__________________
Snoop
snoop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2005, 16h05   #3
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
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 :
INSERT INTO matable VALUES ('truc muche','','machin chose');
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2005, 16h05   #4
Futur Membre du Club
 
Inscription : avril 2005
Messages : 57
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 57
Points : 15
Points : 15
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.
funkadelic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2005, 16h13   #5
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
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 ?
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2005, 16h23   #6
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
pourquoi ne pas utiliser un prepare statement ?

Code :
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.
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2005, 16h23   #7
Futur Membre du Club
 
Inscription : avril 2005
Messages : 57
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 57
Points : 15
Points : 15
mais oui bien sur, je suis trop bete.

bien vu merci beaucoup.
funkadelic est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h57.


 
 
 
 
Partenaires

Hébergement Web