Экспорт структуры данных пользователя в SQL
Экспорт структуры данных пользователя в SQL позволяет экспортировать данные объектов в виде SQL-запросов в файл.
Для экспорта структуры данных пользователя в SQL предназначено диалоговое окно (рис. 179).
Окно можно вызвать следующим способом:
-
в
Инспекторе
выбрать узелСоединения
; -
вызвать пункт главного меню Соединение = > Экспорт объектов в SQL или контекстного меню Экспорт объектов в SQL.
Диалоговое окно отражает условия выгрузки данных и позволяет:
-
выбрать каталог и имя файла для экспортируемого объекта (поле
Файл-приемник
); -
произвести настройки экспорта, применимые для всех объектов:
-
выбрать кодировку (в раскрывающемся списке поля
Кодировка
); -
выбрать экспортируемые объекты (установив флаг на интересующем объекте в списке поля
Выберите объекты
) и дополнительные настройки экспорта для них;
-
-
таблицы: настройки, регулирующие экспорт таблиц, представлены в поле
Схемы таблиц
и позволяют:-
включать кодировки;
-
включать индексы;
-
включать ссылки;
-
включать файлы;
-
включать параметры;
-
включать уровни доступа;
-
включать ограничения;
-
включать лимиты записей.
Пример:
Экспорт таблицы AUTO пользователя SYSTEM в виде SQL-запроса в файл с включением дополнительных настроек поля
Схемы таблиц
:create table "AUTO" character set "DEFAULT" ( "MAKE" char (20) character set "CP866" default null, "MODEL" char (20) character set "CP866" default null, "BODYTYPE" char (15) character set "CP866" default null, "CYLNDERS" int default null, "HORSEPWR" int default null, "DSPLCMNT" int default null, "WEIGHT" int default null, "COLOR" char (10) character set "CP866" default null, "YEAR" int default null, "SERIALNO" char (16) character set "CP866" default null, "CHKDATE" int default null, "CHKMILE" int default null, "PERSONID" int ) maxrowid 1022 pctfill 100 blobpct 50 indexfiles 1 ( 'SY00' 28 ) datafiles 1 ( 'SY00' 13 ); alter table "SYSTEM"."AUTO" add primary key ("PERSONID");
-
-
представления: настройки, регулирующие экспорт представлений, представлены в поле
Представления
и позволяют:-
экспортировать материализованные представления (поле
Включать слово 'materialized'
); -
включать уровни доступа.
Пример:
create view "TABLES" ("TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME", "TABLE_TYPE", "REMARKS") as SELECT CAST '' AS VARCHAR ( 66 ) AS "TABLE_CAT" , CAST RTRIM ("$$$S34" ) AS VARCHAR ( 66 ) AS "TABLE_SCHEM" , CAST RTRIM ( "$$$S13") AS VARCHAR ( 66 ) AS "TABLE_NAME" , CAST ( CASE GETBYTE ( "$$$S14", 6 ) WHEN 1 THEN 'VIEW' WHEN 2 THEN 'SYNONYM' ELSE CASE WHEN "$$$S11" < 4 THEN 'SYSTEM TABLE' ELSE 'TABLE' END END ) AS VARCHAR (20) AS "TABLE_TYPE" , CAST '' AS VARCHAR ( 1 ) AS "REMARKS" FROM "LINTER_SYSTEM_USER" . "$$$SYSRL" , "LINTER_SYSTEM_USER" . "$$$USR" WHERE GETBYTE ( "$$$S14" , 6 ) < 4 AND "$$$S12" = "$$$S31" AND "$$$S32" = 0 AND "$$$S11" < > 0 UNION ALL SELECT CAST '' AS VARCHAR (66 ) AS "TABLE_CAT" , CAST '' AS VARCHAR ( 66 ) AS "TABLE_SCHEM" , CAST RTRIM ( "$$$S13" ) AS VARCHAR (66) AS "TABLE_NAME" , CAST 'SYNONYM' AS VARCHAR ( 20 ) AS "TABLE_TYPE" , CAST '' AS VARCHAR ( 1 ) AS "REMARKS" FROM "LINTER_SYSTEM_USER"."$$$SYSRL" WHERE "$$$S12" = -1 AND "$$$S11" < > 0;
-
-
синонимы: дополнительные настройки в группе
Синонимы
позволяют отсортировать синонимы текущего пользователя для последующего экспорта (кнопка Выбрать только синонимы моих объектов группыСинонимы
).Пример:
create public synonym "$$$COMMENTS" for "$$$COMMENTS"; create public synonym "TABLES" for "TABLES";
-
процедуры: экспортирует процедуры.
Пример:
create or replace procedure p_create_table(in ch_table_name char(66)) for debug declare exception noresults for custom 100; // code execute direct "drop table " + ch_table_name + ";"; // execute direct "create table "+ch_table_name+"(msg char(255), i_param int);"; // if errcode() < > 0 then signal noresults; // endif exceptions when others then resignal; // end;
-
триггеры: экспортирует триггеры.
Пример:
create or replace trigger tr_InsteadUpdRow instead of update on tr_data2 for each row execute for debug declare var Err int; // code if (old.c1_int >= new.c1_int) then execute direct "update tr_data3 set c1_int = " + ITOA(old.c1_int) + " where c1_int = " + ITOA(new.c1_int) + ";"; // Err := ERRCODE(); // if (Err < > 0) then goto l_Error; // endif; // else execute direct "update tr_data3 set c1_int = " + ITOA(new.c1_int) + " where c1_int = " + ITOA(old.c1_int) + ";"; // Err := ERRCODE(); // if (Err < > 0) then goto l_Error; // endif; // endif; // execute direct "insert into tr_log ( tr_date, tr_instead, tr_upd, tr_row) values (sysdate, '+', '+', '+');"; // Err := ERRCODE(); // if (Err < > 0) then goto l_Error; // endif; // commit release; // return(true); // l_Error: print("tr_InsteadUpdRow : Error = " + ITOA(Err)); // return(false); // end;
-
события: экспортирует события.
Пример:
create global event "SYSTEM"."EVENT_1" as time current;
-
последовательности: экспортирует последовательности.
Пример:
create public sequence "SEQUENCE1" start with 1 increment by 2 maxvalue 10 minvalue 1;
-
данные таблиц: настройки, регулирующие экспорт данных таблиц, представлены в поле
Данные таблиц
и позволяют:-
загружать NCHAR как HEX;
-
включать названия столбцов;
-
определять тип команды при экспорте BLOB-данных (раскрывающийся список поля
Загрузка БЛОБ
); -
определить размер порции BLOB-данных в байтах (выставляется вручную в поле
Размер порции БЛОБ-данных (байт)
).
Пример:
insert into "T1" values (1, 'aaaaa'); insert into "T1" values (2, 'bbbbb'); insert into "T1" values (3, 'ccccc'); insert into "T1" values (4, '');
-