Srs:
Hace algún tiempo me interesó el tema y traté de estudiarlo un poco (pero por falta de tiempo lo dejé a un lado). De lo poco que pude sacar en claro, es que los arreglos solo pueden darse de alta dentro de un campo de una tabla (ignoro si recientes versiones de Firebird los incorporen como elementos separados dentro de algún procedimiento almacenado, como creo que es el caso que el forista jlalvarez los quiere utilizar). A continuación pongo un pequeño ejemplo de como se debe de crear una tabla que contenga, a su vez, un campo que sea un arreglo de elementos del mismo tipo (claro está):
Código SQL
[-]
CREATE ARRAY_TEST (
varchar_array1 VARCHAR(8) [1:5],
varchar_array2 VARCHAR(8) [0:5],
integer_array1 INTEGER [4, 5],
integer_array2 INTEGER [4, 5, 6]
);
Ahora viene la parte difícil (bueno no es difícil, pero tampo es trivial el proceso). Para insertar un registro, hay que construir y poblar el arreglo antes de ejecutar el comando de inserción y se hace a través de la API. Te sugiero que leas lo siguiente documento: InterBase 6 API Guide. Por cierto, también la base de datos de Employee que viene en las instalación completa del Firebird viene un ejemplo de lo que aquí, apretadamente, trato de explicar.
Espero sea de utilidad.
Saludos,
Gerardo Suárez Trejo
P.D. Igual que Jhonny Suárez creo que la solución mas fácil es utilizar tablas

.