Re: insert con serial

From: "Guillermo O(dot) Burastero" <linux(dot)gb(at)gmail(dot)com>
To: Lista de Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: insert con serial
Date: 2011-12-08 00:42:58
Message-ID: CAEKEwfmcfMzpx1=YPdzXvmZ+eA68umyNe6q7t7YnRM-Yz-DVXQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola

El día 6 de diciembre de 2011 17:52, Gilberto Castillo Martínez
<gilberto(dot)castillo(at)etecsa(dot)cu> escribió:
>
>
> El mar, 06-12-2011 a las 14:46 -0600, Marco Vinicio Jimenez Rojas
> escribió:
>> buenas Tardes. Tengo una tabla donde tengo un campo "SERIAL", queria
>> saber si es posible que cuando hago un insert este me devuelva el
>> valor del campo serial de ese insert.
>>
>> a modo de ejemplo veamos una tabla con los campos
>>
>> Campo1 SERIAL
>> campo2 INTEGER
>> Campo3 DATE
>>
>> El insert sería:
>> insert into Tabla(campo2, campo3) values(5,"01/01/2011")
>>
> Tan solo debes consulta el currenval de la secuencia que se genero.

Esto está mal, el valor corriente de la secuencia puede haber cambiado
por lo tanto diferir de aquel al que se insertó, sobre todo en un
entorno de inserciones concurrentes.

>
> --
> Saludos,
> Gilberto Castillo
> Edificio Beijing. Miramar Trade Center. Etecsa.
> Miramar, La Habana.Cuba.
>

Hay que usar el "INSERT ... RETURNING ..."

ver http://www.postgresql.org/docs/9.1/static/sql-insert.html

[ WITH [ RECURSIVE ] with_query [, ...] ]
INSERT INTO table [ ( column [, ...] ) ]
{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [,
...] | query }
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]

--
Guillermo O. Burastero
Usuario GNU/Linux #84879 - http://counter.li.org/
Bahía Blanca, Buenos Aires, Argentina
Tel. +54 (291) 454-6132 - Móvil [15] 574-3173
MSN: guillermo(dot)burastero(at)gmail(dot)com
ICQ: 97148268

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2011-12-08 01:20:43 Re: insert con serial
Previous Message Fabio Arias 2011-12-08 00:06:08 Re: llamada a funcion