[OT] CREATE RULE en PostgreSQL

Juan Carlos Muñoz Ilabaca jcmunoz en dcc.uchile.cl
Sab Jul 15 01:22:04 CLT 2006


Disque el Viernes, 14 de Julio de 2006 16:20, Rodrigo Fuentealba escribiosese:
> Estimados Listeros:
>
> No sé si realmente esto cae en Off-Topic pero por si las moscas...
>
> [...]
> El problema se presenta al hacer update, pues me deja actualizar
> perfectamente el código 'PA' a 'pa'. Eso cae de cajón, pero:
>
> CREATE OR REPLACE RULE actualizar_cliente AS
>     ON update TO tabla_clientes
>     DO ALSO
>         UPDATE tabla_clientes
>         SET codigo = upper(codigo)
>         WHERE new.codigo = codigo;
>

Tu problema es simple... le estás diciendo al PG que cuando se haga un update, 
haga un update... entonces lo que debes verificar antes de hacer el update 
dentro de la regla  es que si codigo != upper(codigo) entonces  haga el 
update...

En el fondo no tienes condición de borde para tu proceso recursivo... eso es 
todo...



>[...]
> --
> Rodrigo Fuentealba.

Atte. JCMI

-- 
Q:	What's tiny and yellow and very, very, dangerous?
A:	A canary with the super-user password.



Más información sobre la lista de distribución Linux