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-----
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 |