From: | "Agustin Ignacio Genoves" <agustingenoves(at)gmail(dot)com> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>, "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 11:39:23 |
Message-ID: | d50beba10812150339n193b4a24g98f71dab2cfb375d@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola, leyendo los mails sobre este problema me encontre con el
comentario de alvaro que dice que usar columnas char es problematico.
No lo sabia y quisiera saber el por que es problematico o una idea
pesima. Gracias
2008/12/15 Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>:
> 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)
> --
> TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
>
From | Date | Subject | |
---|---|---|---|
Next Message | Gabriel Ferro | 2008-12-15 13:44:43 | Re: Obtener el valor de un campo serial luego de un insert |
Previous Message | Mariano Reingart | 2008-12-15 05:15:22 | Beta de pgInstaller (instalador para windows) en español |