C:\MIX\firebird\fb25>ISQL
Use CONNECT or CREATE DATABASE to specify a database
SQL> CREATE DATABASE 'T1.FDB'; COMMIT;
SQL> CREATE TABLE X (ID INTEGER);
SQL> COMMIT;
SQL> CREATE OR ALTER TRIGGER T1 FOR X
CON> ACTIVE BEFORE INSERT POSITION 0
CON> AS
CON> begin
CON> end;
SQL> COMMIT;
SQL> EXIT;
C:\MIX\firebird\fb25>isql t1.fdb
Database: t1.fdb
SQL> CREATE TABLE Y (ID INTEGER);
SQL> COMMIT;
SQL> exit;
C:\MIX\firebird\fb25>isql t1.fdb
Database: t1.fdb
SQL> CREATE OR ALTER TRIGGER T1 FOR Y
CON> ACTIVE BEFORE INSERT POSITION 0
CON> AS
CON> begin
CON> end;
SQL> COMMIT;
SQL> EXIT;
C:\MIX\firebird\fb25>isql t1.fdb
Database: t1.fdb
SQL> show trigger;
Table name Trigger name Invalid
================================ ================================ =======
X T1
Триггер остался принадлежать таблице "X", а не "Y".
Команда его создания молча проигнорировала "for Y", хотя должна вроде была сказать своё "фэ"...