Re: [Pgsql-ayuda] Como saco el valor de un serial despues de una inserción de manera eficiente

From: "Felipe E(dot) Barousse B(dot)" <fbarousse(at)piensa(dot)com>
To: Fernando Romo <pop(at)cofradia(dot)org>
Cc: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] Como saco el valor de un serial despues de una inserción de manera eficiente
Date: 2002-03-01 21:02:25
Message-ID: 1015016546.868.107.camel@monster.piensa.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Fernando:

Es muy fácil:

Suponiendo que tengas la tabla:

id_dato integer not null default nextval('tabla_id_dato_seq'::text)
datos text

(El serial es el id_dato y por supuesto tiene su indice
"tabla_id_dato_pkey")

La secuencia de "seriales" se guarda en tabla_id_dato_seq y puedes
obtener el valor que se acaba de generar despues de un insert con:

select last_value from tabla_id_datos_seq;

La otra forma de usarlo es usando la funcion de Postgres "currval()"
JUSTO DESPUES del INSERT, (ejemplo tomado del manual):

INSERT INTO person (name) VALUES ('Blaise Pascal');
new_id = output of "SELECT currval('person_id_seq')";

Dato adicional: si modificas la secuencia (un DROP SEQUENCE y luego
CREATE SECUENCE...) puedes lograr alterar los "seriales".

Espero se entienda con mi ejemplo de "table" y "id_dato"

Un saludo

Felipe Barousse
Bufete Consultor de Mexico - Piensa Technologies.
www.piensa.com

On Fri, 2002-03-01 at 02:27, Fernando Romo wrote:
> Estimados:
>
> Necesito insertar un registro en una tabla que tiene un tipo de campo
> serial y sacar inmediatamente el valor del registro que se acaba de
> actualizar.
>
> Por ejemplo en MS SQL uno usa una variable llamada @@IDENTITY que trae
> el valor de este campo despues de un INSERT.
>
> En pgsql hay algo similar?
>
> Saludos... El Pop
>
>
>
> _______________________________________________
> Pgsql-ayuda mailing list
> Pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
> http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Felipe E. Barousse B. 2002-03-01 21:30:48 Re: [Fwd: Re: [Pgsql-ayuda] Como saco el valor de un serial despues de una inserción de manera eficiente]
Previous Message Manuel Sugawara 2002-03-01 20:57:04 Re: [Pgsql-ayuda] Como saco el valor de un serial despues de una inserción de manera eficiente