Skip site navigation (1) Skip section navigation (2)

Re: Obtener el valor de un campo serial luego de un insert

From: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
To: "M C" <ayudapostgre(at)gmail(dot)com>
Cc: POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Obtener el valor de un campo serial luego de un insert
Date: 2008-12-15 02:07:09
Message-ID: 3073cc9b0812141807j72002c33hd73b31266bd7ba82@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
2008/12/14 M C <ayudapostgre(at)gmail(dot)com>:
> Sigo sin entender como puedo hacer. El valor serial es id_item y no id_padre
> es por esto que esta en RETURNING menu.id_item.currval()
>
>

no habia visto bien el RETURNING, asi que tienes 2 cosas mal... la que
te dije antes y la forma de invocar currval()

la funcion deberia ser algo asi:

CREATE OR REPLACE FUNCTION agregar_item_menu(integer, integer, integer,
 bpchar, bpchar)
RETURNS integer AS
$BODY$
DEFINE
    valor integer;
BEGIN
   INSERT INTO menu (id_padre, posicion, nivel, titulo, pagina)
   VALUES ($1,$2,$3,$4,$5)
   RETURNING currval(pg_get_serial_sequence('menu', 'id_item') INTO valor;
RETURN valor;
 END
 $BODY$
 LANGUAGE 'plpgsql' VOLATILE;

PS: siempre con copia a la lista

-- 
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

In response to

Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2008-12-15 03:16:15
Subject: Re: Obtener el valor de un campo serial luego deun insert
Previous:From: Jaime CasanovaDate: 2008-12-13 21:09:58
Subject: Re: LUN´s para Datos y Logs

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group