Hola jars.
Firebird cuenta con la variable de contexto
ROW_COUNT que contiene el número de columnas que fueron afectadas por la última accion, pero está disponible solamente para SQL procedimental.
Entonces podrías hacer un procedimiento:
Código SQL
[-]
SET TERM ^ ;
CREATE OR ALTER PROCEDURE SP_INSERT_TABLA1
RETURNS (
NOROWS INTEGER)
AS
BEGIN
INSERT INTO TABLA2
SELECT * FROM TABLA1;
NOROWS = ROW_COUNT;
SUSPEND;
END^
SET TERM ; ^
Ejemplo de uso:
Código SQL
[-]SELECT NOROWS AS TOTAL FROM SP_INSERT_TABLA1
Saludos