RE: [pgsql-es-ayuda] Conocer el id después de insertar un registro nuevo

From: "Jose Cariqueo" <jcariqueo(at)fonadis(dot)cl>
To: "Arturo Munive" <arturomunive(at)gmail(dot)com>, Miguel Rodríguez Penabad <penabad(at)gmail(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: [pgsql-es-ayuda] Conocer el id después de insertar un registro nuevo
Date: 2007-06-26 17:16:39
Message-ID: 00FECAB91367C14481270C85E051AF530102BA02@SVR02.FONADIS.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Muchas gracias. Probaré lo que me indican :)

Saluda atentamente,


JOSÉ CARIQUEO PILQUIANTI
Unidad de Informática
Fondo Nacional de la Discapacidad
E-mail: jcariqueo(at)fonadis(dot)cl
Fono: (02) - 810 39 60
Huérfanos N°1313, piso 6, Santiago Centro, RM
URL: http://www.fonadis.cl

-----Mensaje original-----
De: Arturo Munive [mailto:arturomunive(at)gmail(dot)com]
Enviado el: Martes, 26 de Junio de 2007 11:39
Para: Miguel Rodríguez Penabad
CC: Jose Cariqueo; pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Conocer el id después de insertar un registro nuevo

Miguel Rodríguez Penabad escribió:
> 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
> --
> ---------------------------(fin del mensaje)---------------------------
> TIP 7: no olvides aumentar la configuración del "free space map"
>
No sabia esa de returning... siempre se aprende algo nuevo (sobre todo
yo ;) )

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Sizu 2007-06-26 17:35:14 Re: Busqueda con carácteres latinos
Previous Message Alvaro Herrera 2007-06-26 16:33:42 Re: COMPARACION DE DOS TUPLAS