Re: duda con trigger....

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Virginia <mavir78(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: duda con trigger....
Date: 2009-04-08 15:10:02
Message-ID: 20090408151001.GB10285@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Virginia escribió:
> Buenos días... tengo un problema con un trigger que he creado para que
> actualice un campo de una tabla según el valor de una subcadena de otro
> campo de esa misma tabla, la función es la siguiente:
>
> BEGIN
> IF TG_OP = 'INSERT' OR TG_OP = 'UPDATE' THEN
> UPDATE autoservicios.toi005_concepto SET tx_tipo = 'A' WHERE
> substring(OLD.cod_concepto from 2 for 4) <'0500';
> UPDATE autoservicios.toi005_concepto SET tx_tipo = 'D' WHERE
> substring(OLD.cod_concepto from 2 for 4) >='0500';
> RETURN NEW;
> END IF;
> END;

Me temo que tu modelo tiene un error severo; le falta un poco de
normalización. Idealmente no deberías estar haciendo un WHERE de un
substring de un campo. Si hay información útil que necesitas en un
WHERE en una cadena, deberías tenerla en una columna separada.

De lo contrario vas a estar toda la vida peleando con problemas como
este.

--
Alvaro Herrera http://www.flickr.com/photos/alvherre/
"Siempre hay que alimentar a los dioses, aunque la tierra esté seca" (Orual)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Virginia 2009-04-08 15:15:32 Re: duda con trigger....
Previous Message Emanuel Calvo Franco 2009-04-08 15:06:57 Re: duda con trigger....