sql >> Base de Datos >  >> RDS >> Mysql

Supervise las inserciones de MySQL desde diferentes aplicaciones

Creo que podría lograr algo como esto con bastante facilidad, suponiendo que no le importara crear algunas tablas y disparadores adicionales en su base de datos, y que la aplicación Java de monitoreo tendría que sondear la base de datos en lugar de recibir disparadores específicamente.

Suponiendo que la tabla que desea monitorear es algo como esto:

CREATE TABLE ToMonitor ( id INTEGER PRIMARY KEY, value TEXT );

Luego, crea una tabla para realizar un seguimiento de los cambios y un disparador que llena esa tabla:

CREATE TABLE InsertedRecords( value TEXT );
CREATE TRIGGER trig AFTER INSERT ON account
FOR EACH ROW INSERT INTO InsertedRecords( value ) VALUES ( NEW.value );

Esto hará que la tabla InsertedRecords se llene con cada inserción que ocurra en ToMonitor.

Luego, solo necesita configurar su aplicación de monitoreo para periódicamente SELECT * from InsertedRecords , realice la acción apropiada y luego borre los registros de InsertedRecords

EDITAR:una pequeña alternativa, si no le importa un poco de codificación C/C++, sería siga las instrucciones aquí para crear una función SQL personalizada que active su aplicación de monitoreo y luego llame a esa función SQL desde el activador que creó.