Re: Copiar contenido de un serial a otro campo y concatenar campos

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: el-PRiNCiPiTo <el-PRiNCiPiTo(at)terra(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Copiar contenido de un serial a otro campo y concatenar campos
Date: 2008-03-27 16:46:45
Message-ID: 20080327164645.GK8764@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

el-PRiNCiPiTo escribió:

> La primera duda es que tengo una tabla en la que hay un campo id que es
> de tipo serial y necesito añadir otro campo que tenga el mismo valor que
> este serial. Desde el programa tendría que cambiar demasiado código para
> que lo hiciera así que me preguntaba si hay alguna forma de hacer que la
> base de datos inserte el mismo valor que el campo id en el campo nuevo
> cada vez que se cree una fila nueva.
> La otra duda es parecida pero en lugar de copiar un capo serial querría
> que concatenara el valor de tres campos en uno nuevo. También
> necesitaría que esto fuera automático cada vez que se crea una fila
> nueva porque para hacerlo desde el programa tendría que hacer muchas
> modificaciones y puede que me olvidara de algún sitio.

Todo esto puedes hacerlo en un trigger BEFORE INSERT.

Una cosa que parece sospechosa es eso de concatenar tres campos para
generar otro campo. Creo que seria mas sensato hacer la concatenacion
en el momento de la consulta. Y para ahorrarte el problema de hacerlo
en la aplicacion, hazlo en una vista:

create view mi_vista
as select uno || dos || tres, otros_campos
from mi_tabla

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-03-27 16:47:41 Re: Error en postgresql 8.3.1 en windows
Previous Message Alvaro Herrera 2008-03-27 16:28:11 Re: Uso table_log