Re: Ultimo Id

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Luis Fernando Curiel Cabrera <lcuriel(at)gmail(dot)com>
Cc: Mario Gonzalez <gonzalemario(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ultimo Id
Date: 2005-11-22 21:53:18
Message-ID: c2d9e70e0511221353j327c8f13kace3e4bc15330833@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 11/22/05, Luis Fernando Curiel Cabrera <lcuriel(at)gmail(dot)com> wrote:
> Ye tengo una duda, para mandar llamar al currval y el nextval ¿debo hacerlo
> dentro de una funcion?
>
> function xxx() ....
> ......
> insert ()
> next_val = nextval('sequence_name')
> last_id=currval('sequence_name')
> ......
>
>

mmm???

imagina esta tabla:

CREATE TABLE foo (col1 serial primary key);

INSERT INTO foo VALUES (DEFAULT);
select currval('foo_col1_seq'); --retorna 1

INSERT INTO foo VALUES (nextval('foo_col1_seq'));
select currval('foo_col1_seq'); --retorna 2

esto lo puedes hacer en plpgsql, claro que tambien lo puedes hacer
asignando a una variable el nextval... construyendo el INSERT desde tu
aplicacion y luego ejecutando un select currval() desde tu
aplicacion...

No hay necesidad de hacerlo todo en una funcion de postgres (a menos
que tengas pg_pool en medio, o al menos me parece que con pg_pool en
medio si necesitarias hacerlo todo en una sola funcion... a menos que
tengas una transaccion corriendo, Alvaro?)

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

  • Re: Ultimo Id at 2005-11-22 21:28:10 from Luis Fernando Curiel Cabrera

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo O. Burastero 2005-11-22 22:16:45 Fwd: Ultimo Id
Previous Message Luis Fernando Curiel Cabrera 2005-11-22 21:28:10 Re: Ultimo Id