Si, tambien puedes usar el IBQuery para eso, pero la verdad es que es muy aburrido y engorroso hacer lo que quieres, yo antes lo hacia de la misma manera pero se me convirtio en un problema ya que se volvio en otro programa mas para "mantener", en la versión 2.1 de FireBird vienen cosas interesantes como el "Alter or Create" pero aún asi debe ser muy aburrido mantener este programita
...
Lo que hice mas adelante fue usar el
DBComparer, pero como necesitabamos que nuestros clientes pudieran actualizar sus BD de forma sencilla, pues siempre manteniamos una BD en Blanco (Sin un solo dato), pero con la estructura siempre actualizada, comenzamos a utilizar los componentes de
DBComparer para Delphi, adaptamos el asunto a nuestra necesidad y enviamos un solo software a los clientes, cada que necesitaban una actualización pinchaban un boton, el programa se encargaba de descargar la BD vacia pero actualizada, en fbk y comprimida de un FTP, la descomprimia, la restauraba, comparaba la BD vacia pero actualizada contra la de nuestros clientes con dichos componentes y aplicaba los cambios, luego de eso... adios a mantener ese programita aburridor lleno de scripts confusos y dificiles de depurar por todos lados
.