Buen día 

Tengo varias tablas que tiene un trigger que concatenan datos para ingresarlos 
en otra tabla. 

En algunas funciones hago update masivos a estas tablas pero no necesito que el 
trigger se ejecute  

CREATE OR REPLACE FUNCTION miesquema.mifuncion()
RETURNS void AS 
$BODY$ 
BEGIN
...
...
ALTER TABLE miesquema.mitabla DISABLE TRIGGER ALL;
Update miesquema.mitabla 
set campo1 = t.campo1 
  , campo2 = t.campo2 
  , campo3 = t.campo3 
From t 
Where mitabla.id = t.id; 

ALTER TABLE miesquema.mitabla ENABLE TRIGGER ALL; 


END; 
$BODY$ 
LANGUAGE plpgsql VOLATILE 
COST 100;
Hay varios usuarios que actualizan, insertan y elimina en estas tablas y que 
necesita del trigger activo. 

Todos los DML y funciones se ejecutan por medio de aplicaciones y cada una 
maneja su propia conexión. 

Al ejecutar la función que desactiva el trigger y mientras dura la ejecución, 
los triggers están desactivados solo para esta conexión o para todas las 
conexiones? 

Si los triggers están desactivados para todas las conexiones existe alguna 
manera de decir, quiero desactivar los triggers solo para esta conexión? 

Saludos. 
Mauricio

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a