Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Post_event y cargas masivas (https://www.clubdelphi.com/foros/showthread.php?t=74481)

Young 22-06-2011 16:20:08

Post_event y cargas masivas
 
Buenos días, llevo algunos años trabajando con firebird y solamente hace un par de meses por intermedio de un amigo que participa también en este foro me enteré de las 'bendiciones' de post_event. No se si para bien o mal, le he dado un uso extensivo en una aplicación que llevo en proceso. Esta aplicación tiene un número limitado de usuario (15 a 20), y hace uso de grillas para representación de información, por eso post_event me vino como anillo a dedo al momento de actualizar información.

Mi consulta es la siguiente, si hago una carga masiva o actualización masiva de datos, por lógica asumo que se gatillarán tantos eventos como actualizaciones se hagan a cierta tabla y si es asi... ¿existe alguna manera de desactivar estos eventos mientra hacemos esas actualizaciones masivas?.

Gracias.
:)

Casimiro Notevi 22-06-2011 16:27:30

Si lo lanzas desde un trigger entonces puedes desactivarlo antes.

Young 22-06-2011 16:41:41

Cita:

Empezado por Casimiro Notevi (Mensaje 404492)
Si lo lanzas desde un trigger entonces puedes desactivarlo antes.

Tienes toda la razón... (los árboles no me dejaban ver el bosque :D)

Gracias Totales.

ecfisa 22-06-2011 16:43:08

Cita:

Empezado por Casimiro Notevi (Mensaje 404492)
Si lo lanzas desde un trigger entonces puedes desactivarlo antes.

Exacto, supongamos:
Código SQL [-]
SET TERM ^;
CREATE TRIGGER EV_TABLE_CHANGE FOR TABLE
ACTIVE AFTER INSERT OR UPDATE
POSITION 10
AS
BEGIN
  POST_EVENT 'TABLECHANGE';
END^
SET TERM ;^

Desactivar:
Código SQL [-]
ALTER TRIGGER EV_TABLE_CHANGE INACTIVE;

Activar:
Código SQL [-]
ALTER TRIGGER EV_TABLE_CHANGE ACTIVE;

Saludos.

Edito: Disculpas Young, no ví tu post al poner este.

Lepe 22-06-2011 16:50:55

También son acumulativos, fíjate en delphi en el evento del IbEventAlerter (o el que uses), trae un parámetro que dice "count", esto es, cuantas repeticiones del mismo mensaje se han producido.


La franja horaria es GMT +2. Ahora son las 11:13:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi