Re: Transf

From: Terry Yapt <yapt(at)technovell(dot)com>
To: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Transf
Date: 2009-03-20 16:02:57
Message-ID: 49C3BE31.9070205@technovell.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Jaime Casanova escribió:
> 2009/3/20 Terry Yapt <yapt(at)technovell(dot)com>:
>
>> Alvaro Herrera escribió:
>>
>>> Terry Yapt escribió:
>>>
>>>
>>>
>>>> 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.
>>>>
>>>>
>>> Podrías hacer el trigger con plperl, y pasarle el nombre de columna como
>>> argumento (durante CREATE TRIGGER).
>>>
>>>
>>>
>> Lo siento.... no conozco Perl y, lo que conozco, no me gusta demasiado.
>> Manias, supongo...... :-)
>>
>> Pl/PgSQL sería una opción ?
>>
>>
>
> con plpgsql tendrias que crear al menos un trigger por tabla, y en ese
> solo trigger cambiar a mayusculas todas las columnas que necesites en
> esa tabla
>
>

Hasta ahora, he creado una function trigger, tal que así:

DECLARE
BEGIN
NEW.nombre := sctest.f_mayusculas(NEW.nombre);
RETURN NEW;
END;

Llama a una función porque, posiblemente, quiero hacer más cosas dentro
de dicha función (seguramente quitar los acentos también). Esta es la
función:

DECLARE
cadena_out varchar := $1;
BEGIN
cadena_out := UPPER($1);
END;

Luego he asignado la function-trigger a varias tablas. Me disponia a
probar si funciona...

El problema vendrá cuando la columna a modificar, NO se llame 'nombre',
sino de otro modo...

In response to

  • Re: Transf at 2009-03-20 15:58:04 from Jaime Casanova

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo Franco 2009-03-20 16:04:09 Re: [pgsql-es-ayuda] Transformación valor columna 'BEFORE INSERT' común...
Previous Message Jaime Casanova 2009-03-20 15:58:04 Re: Transf