Manuel A. Estevez Fernandez escribió: > juan wrote: >> <div class="moz-text-flowed" style="font-family: -moz-fixed">Manuel A. >> Estevez Fernandez escribió: >>> Me gustaria saber como puedo definir como un trigger sobre una tabla >>> que cuando inserte cierto valor en una columna este cree el otro >>> trigger que va a actuar sobre otra tabla, y una vez que haga un >>> update a la primera tabla, el trigger elimine a otra funcion. >>> ......... >> >> Perdona la respuesta, pero porque tienes que hacer esta práctica???
> La tabla sobre la cual esta la funcion que envié, se ejecuta > constantemente mientras que la otra tabla en donde se haranlos > movimientos sera muy temporalmente. Así que no encuentro sentido a > mantenerla ahi ejecutandose todo el tiempo. Ademas que no se que tanto > pueda pegarle en el desempeño a mi sistema el tener que estar ejecutando > un procedimiento inecesario todo el tiempo. Lo que propones es peor idea, porque cada vez que haces CREATE TRIGGER o DROP TRIGGER se toma un lock exclusivo en la tabla, y por lo tanto impides que cualquier otra operacion concurrente pueda operar en la tabla. (A todo esto, el codigo del trigger que tienes no es muy bueno tampoco; lo del select max() no funciona bien cuando tienes dos o mas ejecutando concurrentemente el mismo codigo. Usa currval() para obtener el valor de una secuencia, de una columna que debes haber declarado con tipo SERIAL.) -- Alvaro Herrera http://www.flickr.com/photos/alvherre/ "The Postgresql hackers have what I call a "NASA space shot" mentality. Quite refreshing in a world of "weekend drag racer" developers." (Scott Marlowe) -- TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda