Myslím, že něčeho takového byste mohli dosáhnout poměrně snadno, za předpokladu, že vám nebude vadit vytvořit nějaké další tabulky a spouštěče ve vaší databázi a že monitorovací java aplikace bude muset databázi spíše dotazovat, než konkrétně přijímat spouštěče.
Předpokládejme, že tabulka, kterou chcete monitorovat, je něco takového:
CREATE TABLE ToMonitor ( id INTEGER PRIMARY KEY, value TEXT );
Poté vytvoříte tabulku pro sledování změn a spouštěč, který tuto tabulku vyplní:
CREATE TABLE InsertedRecords( value TEXT );
CREATE TRIGGER trig AFTER INSERT ON account
FOR EACH ROW INSERT INTO InsertedRecords( value ) VALUES ( NEW.value );
To způsobí, že tabulka InsertedRecords bude naplněna každým vložením, ke kterému dojde v ToMonitor.
Pak už jen stačí nastavit vaši monitorovací aplikaci tak, aby pravidelně SELECT * from InsertedRecords
, proveďte příslušnou akci a poté vymažte záznamy z InsertedRecords
EDIT:Mírnou alternativou, pokud by vám nevadilo trochu kódování C/C++, by bylo postupujte podle pokynů zde k vytvoření vlastní funkce SQL, která spustí vaši monitorovací aplikaci do akce, a pak stačí zavolat tuto funkci SQL ze spouštěče, který jste vytvořili.