Файрберд может сохранять таблицы в виде внешних текстовых файлов.
Файлы будут с записями ФИКСИРОВАННОЙ длины, никаких VARCHAR, массивов и BLOB, а лучше всего вообще все поля CHAR, а то мозг вывихнешь. Файлы csv также не предусмотрены.
посмотрим как можно использовать подобное уродство.
над полученными внешними таблицами можно выполнять только операции INSERT и SELECT. Если удалить таблицу в БД — файл не удаляется.
проверить сие можно например таким образом — создаем внешнюю таблицу, записываем в нее пару строк данных, удаляем таблицу — файл остался на диске. Если после этого создать точно такую же таблицу — она будет «чудесным образом» уже заполнена данными.
если указать имя файла без пути — файрберд замечательно создаст ее в windows/system32
Еще один прикол — файрберд не подставляет автоматом символы конца строки в файл внешней таблицы. Для того чтоб он все-таки был — надо сделать дополнительное поле в таблице на 2 символа (ну, для Windows два символа) и занести их туда.
Конечно по сравнению даже с MYSQL это убожество, но так или иначе выгрузку во внешний файл организовать можно. Причем выгружается вроде бы довольно быстро.
самый простой вариант таблицы такой:
CREATE TABLE NEW_TABLE EXTERNAL 'F:\TEST' ( ID CHAR(5), NAME CHAR(40), CRLF CHAR(2) );
и к ней триггер:
SET SQL DIALECT 3; SET TERM ^ ; CREATE OR ALTER TRIGGER TR_BI_NEW_TABLE FOR NEW_TABLE ACTIVE BEFORE INSERT POSITION 0 AS BEGIN NEW.CRLF = ASCII_CHAR(13) || ASCII_CHAR(10); END ^ SET TERM ; ^
снаружи получится текстовый файл, который можно при желании открыть Excel или OpenOffice, ну или еще как-то обработать.
читать:
http://www.ibase.ru/files/firebird/langref25rus/index.html#langref25-ddl-table