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

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: M C <ayudapostgre(at)gmail(dot)com>, 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 03:16:15
Message-ID: 20081215031614.GE6410@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Jaime Casanova escribió:

> 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$

Muy complicado -- ¿por qué no simplemente dejar el RETURNING con la
columna que corresponde?

INSERT INTO ... VALUES ... RETURNING id_item INTO valor
RETURN valor

A todo esto, nadie comentó que el uso de columnas de tipo char es una
idea pésima y debe ser evitada.

--
Alvaro Herrera Valdivia, Chile Geotag: -39,815 -73,257
"Just treat us the way you want to be treated + some extra allowance
for ignorance." (Michael Brusser)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2008-12-15 03:22:55 Re: Obtener el valor de un campo serial luego de un insert
Previous Message Jaime Casanova 2008-12-15 02:07:09 Re: Obtener el valor de un campo serial luego de un insert