2016-08-02 15:46 GMT-05:00 Sergio Sinuco <sergiosin...@datatraffic.com.co>:
> Jaime solo hay un trigger en esta tabla, CREATE TRIGGER es el siguiente:
>
> CREATE TRIGGER ins_trama
>   BEFORE INSERT
>   ON parseo.trama_1
>   FOR EACH ROW
>   EXECUTE PROCEDURE parseo.ins_trama();
>
> El 2 de agosto de 2016, 15:44, Jaime Casanova
> <jaime.casan...@2ndquadrant.com> escribió:
>>
>> 2016-08-02 14:22 GMT-05:00 Sergio Sinuco
>> <sergiosin...@datatraffic.com.co>:
>> >
>> > Lo que si estoy viendo es que despues de insertar el registro se hace
>> > actualiza en la tabla padre usando la llave primaria.
>> >
>> > UPDATE parseo.trama_1 SET ejecutada=true WHERE id=idtramain;
>> >
>>

Si el trigger es BEFORE INSERT y termina con RETURN NULL, el registro
nunca toca la tabla padre sino solo la tabla hija.
por lo que ese UPDATE busca en las 200 hijas el registro que debe
actualizar (solo eliminaría particiones si el constraint check
incluyera el campo id pero ese usa el campo fecha) por lo que ahi
tienes 201 tablas.

Deja de ejecutar ese UPDATE que no te sirve y si ese id es el mismo
que acabas de insertar solo modifica el registro antes de insertarlo
(NEW.ejecutada = true) en el trigger.

Y lo que Álvaro dice...

-- 
Jaime Casanova                      www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

-
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

Reply via email to