Si queremos evitar que el código fuente que escribimos en los stored procedures y triggers sea fácilmente visible para los curiosos lo que debemos hacer es borrarlos de la Base de Datos, eso no causa problemas para ejecutarlos ya que el Firebird seguirá manteniendo la versión compilada de los mismos. Eso sí, es IMPORTANTÍSIMO que hagas un backup de tu Base de Datos antes de borrar el código fuente porque después de borrar el código fuente ya no hay manera de recuperarlo.

¿Cuál es la manera correcta?

  1. Haces un backup (o una copia) de tu Base de Datos, la cual aún contiene el código fuente
  2. Restauras ese backup (o esa copia) en otra computadora, la que usará la Base de Datos normalmente (llamémosle el Servidor)
  3. En el Servidor borras el código fuente de la Base de Datos (pero no lo borraste de tu propia computadora, allí continúa estando)
UPDATE
    RDB$PROCEDURES
SET
    RDB$PROCEDURE_SOURCE = NULL
WHERE
    RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0;

UPDATE
    RDB$TRIGGERS
SET
    RDB$TRIGGER_SOURCE = NULL
WHERE
    RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0;

UPDATE
    RDB$RELATIONS
SET
    RDB$VIEW_SOURCE = NULL
WHERE
    (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0) AND RDB$VIEW_BLR IS NOT NULL;