Obtener el valor de un campo serial luego de un insert

From: "M C" <ayudapostgre(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Obtener el valor de un campo serial luego de un insert
Date: 2008-12-12 22:27:18
Message-ID: 45a878710812121427n5bab75b1xce5865f8b5a394db@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Estoy tratando de recuperar el valor de un campo serial inmediatamente
despues de hacer un INSERT con la siguiente función

CREATE OR REPLACE FUNCTION agregar_item_menu(integer, integer, integer,
bpchar, bpchar)
RETURNS serial AS
$BODY$
BEGIN
INSERT INTO menu (id_padre, posicion, nivel, titulo, pagina) VALUES
($1,$2,$3,$4,$5)
RETURNING menu.id_item.currval();
END
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION agregar_item_menu(integer, integer, integer, bpchar, bpchar)
OWNER TO postgre;

pero me da el siguiente error al ejecutar la función

ERROR: query has no destination for result data
SQL state: 42601
Context: PL/pgSQL function "agregar_item_menu" line 2 at SQL statement

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Ramirez 2008-12-13 14:10:53 RE: Obtener el valor de un campo serial luego de un insert
Previous Message Felipe de Jesús Molina Bravo 2008-12-12 22:10:51 Re: funcion plpgsql .... corrupcion de indice