Re: [pgsql-es-ayuda] Transformación valor columna 'BEFORE INSERT' común...

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: Terry Yapt <yapt(at)technovell(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Transformación valor columna 'BEFORE INSERT' común...
Date: 2009-03-20 16:04:09
Message-ID: f205bb120903200904v3100277w8a90e0c32a0a3323@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 20 de marzo de 2009 12:44, Terry Yapt <yapt(at)technovell(dot)com> escribió:
> Hola....
>
> una pregunta concreta.
>
> Estoy diseñando una base de datos nueva y me encuentro con una necesidad
> concreta.
> Hay multiples tablas con multiples columnas (faltaba más)... y me gustaría
> que varias de las columnas de distintas tablas (y con distintos nombres de
> columna), almacenasen su valor en MAYUSCULAS, independientemente de que el
> usuario lo INSERTe con minusculas.
>
> Ok, tenemos la función UPPER, muy apropiada, puedo hacerlo con TRIGGERS.....
> perooooo necesito crear al menos un trigger para cada nombre de columna
> distinto y luego asignarlo a cada tabla.
>
> Sería posible que, en la propia definición de la tabla, pudiese hacer algo
> así como:
>
> CREATE TABLE xxxx
> (  id numeric(2,0),
>  valor varchar(50)  /*SET VALUE = UPPER(valor)*/
> );
>
> Por supuesto, el texto comentado funciona, pero creo que podrá explicar
> mejor lo que quiero hacer....
>
> Saludos.
> --
> TIP 8: explain analyze es tu amigo
>

Hay un camino mas largo, pero viable (guiame alvaro si me equivoco ;P ).

Crea una funcion en plpgsql que devuelva un text en mayuscula.
Crea un tipo de dato qeu utilice como output esta funcion.
Luego en vez de utilizar un varchar utiliza este tipo de dato.

En teoria deberia funcionar, lo que no se realmente es si es muy performante.
Lo de hacer un store en perl sería mucho más rápido supongo, pero
si no queres hacerlo de ese modo, creo que esta via sería otra salida.

--
Emanuel Calvo Franco
Sumate al ARPUG !
(www.postgres-arg.org -
www.arpug.com.ar)
ArPUG / AOSUG Member
Postgresql Support & Admin

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-03-20 16:20:21 Re: Transf
Previous Message Terry Yapt 2009-03-20 16:02:57 Re: Transf