From: | Miguel Rodríguez Penabad <penabad(at)gmail(dot)com> |
---|---|
To: | "Jose Cariqueo" <jcariqueo(at)fonadis(dot)cl> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Conocer el id después de insertar un registro nuevo |
Date: | 2007-06-26 15:27:42 |
Message-ID: | 95335e4e0706260827s7d64631ep607be5cf9b64febf@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 26/06/07, Jose Cariqueo <jcariqueo(at)fonadis(dot)cl> escribió:
> Estimados:
> Tengo la sigte. inquietud:
>
> Inserto un registro nuevo en una tabla e inmediatamente quiero conocer el
> id(pk) correspondiente a dicho registro, cosa de insertar dicho valor en
> otra tabla.
>
> Qué tipo de instrucción me permite hacer esto de manera segura, sin tener
> que hacer un SELECT después del INSERT.
La forma directa: usa insert ... returning.
Por ejemplo:
create table t(a serial primary key, b text);
insert into t(b) values('valor') returning a;
a
---
1
(1 row)
insert into t(b) values('valor') returning a;
a
---
2
(1 row)
La otra opción, si usas secuencias y puedes hacer el select después de
la inserción, sería:
select currval('t_a_seq');
currval
---------
2
(1 row)
Saludos
Miguel
From | Date | Subject | |
---|---|---|---|
Next Message | Arturo Munive | 2007-06-26 15:38:53 | Re: Conocer el id después de insertar un registro nuevo |
Previous Message | Arturo Munive | 2007-06-26 15:24:49 | Re: Conocer el id después de insertar un registro nuevo |