On 9/17/08, el-PRiNCiPiTo <[EMAIL PROTECTED]> wrote: > Hola. > Tengo un trigger creado que se ejecuta al hacer un update en la tabla. El > caso es que ahora se da una situación en la que la tabla puede recibir > actualizaciones y dicho trigger no es necesario que se ejecute (si se > ejecuta altera el update que pretendemos hacer resultando inútil). Así que > para no tener que modificar el trigger que es bastante complejo se me ha > ocurrido que a lo mejor hay alguna forma para hacer el update avisándole que > quiero que ignore los posibles triggers que haya, ¿eso sería posible? > Si no existe nada así se me ha ocurrido añadir a la tabla un campo más y > meter todo el trigger en un if que evalúe ese campo algo así: >
personalmente me parece una falla en el diseño. la idea de un trigger es dejar que el servidor se encargue de ciertas tareas que deben realizarse siempre que se inserte/actualize/borre un registro de ese modo no dependes de que los programadores *recuerden* que eso se debe hacer... pero como lo tienes ahora, nuevamente dependes del programador (que se acuerde de "apagar" el trigger). Para mi lo mas coherente es tener un if dentro del trigger que se encargue de determinar si se deben hacer cambios o no. si realmente quieres apagar el trigger a partir del 8.1 tienes ALTER TABLE tablita DISABLE TRIGGER [nombre_trigger | USER] pero creo que eso afecta a todas las sesiones no estoy seguro... -- Atentamente, Jaime Casanova Soporte y capacitación de PostgreSQL Asesoría y desarrollo de sistemas Guayaquil - Ecuador Cel. +59387171157 -- TIP 6: ¿Has buscado en los archivos de nuestra lista de correo? http://archives.postgresql.org/pgsql-es-ayuda