"Daniel" <[EMAIL PROTECTED]> wrote:
> Pascal Bleser wrote:
> > Daniel wrote:
> > > salut tout le monde
> > > j'ai un petit probleme avec  python, postgresql et pgdb si je fais
> > > un  insert  dans  une  database,  je  ne  peux  pas  retrouver  le
> > > record. le query  ne retour rien (pas OID, pas  plus que la valeur
> > > NEXT_VAL d'un champ autoinc.).
> > > je voudrais  retrouver ce record  pour le recharger et  updater un
> > > objet de type grid.  si qlq'un a une solut..
> > faire un "commit" ?
> non non cela fonctionne
> je voudrais juste recup. comme sous mysql l'OID ou le champ autoinc.au
> moment ou je fais l'insert dans la table.

L'autoincr�mente  PostgreSQL s'appelle une  s�quence. On  peut manipuler
les s�quences:
http://www.postgresql.org/docs/7.3/static/functions-sequence.html

Donc, par exemple, apr�s l'update (et le commit si n�cessaire):
SELECT currval('nom_de_la_seq');

Un peu plus concr�t:
arnauddb=# create table test ( id serial primary key, name varchar(100)); 
NOTICE: CREATE TABLE will create implicit sequence 'test_id_seq' for SERIAL column 
'test.id'
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'test_pkey' for table 
'test'
CREATE TABLE
arnauddb=# \dt
         Liste des relations
 Schema | Nom | Type | Propri�taire
--------+------+-------+--------------
 public | test | table | arnaud
(1 ligne)

arnauddb=# select * from test;
 id | name
----+------
(0 lignes)

arnauddb=# INSERT INTO test VALUES ( nextval('test_id_seq'), 'Arnaud' );
INSERT 16984 1
arnauddb=# SELECT currval('test_id_seq');
 currval
---------
       1
(1 ligne)

arnauddb=#

-- Arnaud Vandyck, STE fi, ULg
   Formateur Cellule Programmation.
_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
IRC: efnet.unixtech.be:6667 - #unixtech

Répondre à