Bonjour,
Je travaille sur une application en JSP et PostgreSQL, je veux savoir est-ce qu'il y a un moyen pour récuperer la derniere valeur générée par AUTO_INCREMENT dans une requete insert
Merci.
Version imprimable
Bonjour,
Je travaille sur une application en JSP et PostgreSQL, je veux savoir est-ce qu'il y a un moyen pour récuperer la derniere valeur générée par AUTO_INCREMENT dans une requete insert
Merci.
Bonjour,
tu peux utiliser la syntaxe (depuis 8.2) RETURNING :
INSERT INTO matable (monchamp) VALUES ('lmm') RETURNING monid;
sinon juste apres ton insert tu relance une autre requete :
SELECT currval('monid');
mais la 1ere solution est tout de meme préférable.
ça te retourne, tu récupére la séquence lié à ton champ auto_increment d'une table. Puis avec currval la derniére valeur retourné par cette sequence.Code:SELECT currval(pg_get_serial_sequence('mytable', 'mycolumn'))
Si ce n'y est pas déjà, à mettre d'urgence dans la FAQ!!!!Citation:
Envoyé par deY!
Merci de l'astuce !!!:king:
A force de passer sa vie dans la documentation on en trouve des choses interressantes :arf:
Merci deY!
je connaissais pas cette fonction pg_get_serial_sequence
je l'ajouterais dans la Faq
Elle ne fonctionne qu'à partir de postgres 8.0
De plus depuis 8.1 il y a aussi lastval(), qui retourne la valeur de la derniere sequence utilisé. Ca évite de nommer la sequence, la table et a colonne.
EDIT : je viens de tomber dessus, peut etre que c'est mieux, j'ai pas testé dans mes appli cette solution :aie: