Re: TRIGGER de update sobre una tabla

From: Pablo Braulio <brulics(at)gmail(dot)com>
To: Carlos Mendez <lucas1850(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: TRIGGER de update sobre una tabla
Date: 2008-03-07 08:12:52
Message-ID: 47D0F904.5020105@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Carlos Mendez escribió:
> Hola, que tal,
>
> estoy buscando como hacer un trigger o rule que cuando modifique una
> tupla un campo llamado modificado se ponga a 1.
> por ejemplo tengo una tabla clientes con campos: id, nombre, direccion,
> telefono, modificado. id es la clave primaria
> Lo que busco es que cuando modifique cualquier campo sea el nombre o
> direccion u otro, el campo modificado automaticamente se ponga a 1,
> cuando se inserta un nuevo registro en la tabla clientes modificado es
> 0, pero quiero hacer un trigger para cuando se modifique algun campo
> modificado se ponga a 1, ya lo intente de varias formas pero me dice:
>
> infinite recursion detected in rules for relation "clientes"
>
> lo que hice fue lo sgte:
>
> CREATE RULE modificado_clientes
> AS ON UPDATE
> TO clientes
> DO INSTEAD
> UPDATE clientes SET modificado = '1'
> WHERE id = OLD.id;
>
> Gracias de antemano por la ayuda,
> saludos

No entiendo mucho la diferencia de hacer RULE en lugar de una función
que devuelva un trigger, pero creo que poner id= OLD.id no es correcto.

Prueba poniendo id= NEW.id

En los triggers funciona así, supongo que en RULE será lo mismo, aunque
igual me equivoco.

- --

< ¡¡Nos vemos!! >
----------------------------
\
\
.::!!!!!!!:.
.!!!!!:. .:!!!!!!!!!!!!
~~~~!!!!!!. .:!!!!!!!!!UWWW$$$
:$$NWX!!: .:!!!!!!XUWW$$$$$$$$$P
$$$$$##WX!: .<!!!!UW$$$$" $$$$$$$$#
$$$$$ $$$UX :!!UW$$$$$$$$$ 4$$$$$*
^$$$B $$$$\ $$$$$$$$$$$$ d$$R"
"*$bd$$$$ '*$$$$$$$$$$$o+#"
"""" """""""
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH0PkEK7lGsMchFswRAg3fAJwMOPevXPjg8rCfpYtAs4MkEZshxgCfdyPj
36C7nLha2PzdAzdD2PldAy4=
=r6Sm
-----END PGP SIGNATURE-----

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jose Manuel Molina 2008-03-07 10:04:17 Instalacion desatendida Windows 2003 AD
Previous Message Sebastián Villalba 2008-03-07 02:15:48 Re: Conectar Pg => Informix