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