Використовуйте цей формат для експорту даних до одного чи більше скриптів SQL. Скрипти містять послідовність команд SQL, які потім можуть бути використані для вставки, оновлення або вилучення даних таблиць цільової бази даних за допомогою відповідного інструменту SQL (Database Tour або іншого).

Експорт робиться движком Database Tour з безпосереднім доступом до файлу, тому є досить швидким.

Зауваження

  • Поля BLOB та інші двійкові дані, які неможливо представити в тексті SQL, не експортуються. Розгляньте можливість використання формату База даних для цього.
  • Скрипт SQL - проміжний формат. Використовуючи його, ви експортуєте дані до цільової бази даних у два кроки: спочатку ви експортуєте дані до скрипта SQL, а потім ви запускаєте цей скрипт у вашій цільовій базі даних. Розгляньте можливість використання формату База даних для експорту вихідних даних безпосередньо до вашої цільової бази даних.

Ви можете експортувати дані до скрипта SQL або з інтерфейсу Database Tour, або з командного рядка.

При експортуванні з інтерфейсу перемкніться на закладку Скрипт SQL діалогу Експорт. Якщо ця закладка не видима, клікніть кнопку Вибрані формати експорту у правому верхньому кутку вікна і впевніться, що відповідний формат вибрано.

Експортування даних до формату SQL

Специфічні для даного формату опції

Файл - при експорті даних з однієї таблиці або запиту SQL, а також групи таблиць (багатотабличний експорт), вкажіть назву файлу, до якого експортувати дані. При багатотабличному експорті всі таблиці буде експортовано до одного цільового файлу, а деякі додаткові параметри можна вказати в налаштуваннях відповідності таблиць. Ця опція недоступна при експортуванні даних до буферу обміну.

Тека - при експорті даних групи таблиць (багатотабличний експорт) вкажіть теку, до якої будуть експортуватися дані. Кожна таблиця буде експортуватися до окремого файлу вказаної теки; назви файлів та назви таблиць SQL можна вказати в налаштуваннях відповідності таблиць. Ця опція недоступна при експортуванні даних до буферу обміну.

Назва таблиці - вкажіть назву таблиці для використання в згенерованих командах. Доступно при експорті одного набору даних. При багатотабличному експорті назви таблиць можна вказати на кроці Відповідності таблиць.

Тип команд SQL - вкажіть тип команд SQL. Для багатотабличного експорту значення може бути перевизначено для кожної окремої таблиці у відповідностях таблиць. Доступні значення:

Insert

Програма створить ряд команд INSERT.

Batch Insert

Програма створить ряд пакетних команд INSERT. Пакетна команда INSERT дозволяє одночасну вставку групи записів. Commit-інтервал (див. нижче) використовується як розмір пакетів.

Примітки

  • Не всі бази даних підтримують такий тип команд SQL. Його підтримують як мінімум Oracle, SQL Server, PostgreSQL, MySQL.
  • Різні типи баз даних мають свої обмеження на розмір пакетів; загальною рекомендацією є не перевищувати 1000 записів; також перегляньте документацію вашої цільової бази даних.

Merge

Програма створить ряд команд MERGE або INSERT+UPDATE. Потрібно вказати ключові поля (див. нижче) для зіставлення записів.

Примітка

Команди MERGE генеруються лише для типів цільових баз даних, які це підтримують (Oracle, DB2, Teradata, SQL Server); для інших типів баз даних використовується найближче можливе альтернативне рішення, якщо таке рішення відомо (наприклад, INSERT з секцією ON CONFLICT для PostgreSQL); якщо найближче можливе альтернативне рішення для певного типу баз даних невідоме, то використовується пара команд UPDATE та INSERT, де остання закоментована.

Update

Програма створить ряд команд UPDATE. Потрібно вказати ключові поля (див. нижче) для зіставлення записів.

Delete

Програма створить ряд команд DELETE. Потрібно вказати ключові поля (див. нижче) для зіставлення записів.

PostgreSQL Copy

Програма створить ряд команд COPY. Команда COPY - дуже специфічний тип команд для одночасної вставки групи записів в базах даних PostgreSQL. Вона часто використовується в дампах SQL dumps. Переконайтеся, що ваш SQL-клієнт може обробляти такі команди.

Ключові поля (переміщено до секції відповідностей полів) - вкажіть ключові поля для використання в секції ON (для виразів MERGE) або WHERE (для виразів UPDATE та DELETE) згенерованих команд. Це повинно бути поле або розділений комами список з кількох полів цілі для порівняння записів. Ключові поля повинні бути присутніми серед цільових полів у відповідностях полів.

Опис таблиці - вкажіть опис цільової таблиці; в поточній версії застосовується лише для баз даних Oracle, SQL Server, PostgreSQL, MySQL, і лише разом з опцією Додати DDL. Якщо вказати <copy_from_source>, програма спробує використати опис вихідної таблиці (якщо є), проте це вимагатиме більше часу.

Тип цільової бази даних - вкажіть тип цільової бази даних, який дозволить програмі знати, як записати деякі специфічні дані у вихідний файл (наприклад, булевські, дата, час, timestamp). Якщо Вам невідомо, в якій базі буде використовуватися згенерований скрипт, вкажіть * Not specified * - при виводі буде по можливості застосовуватися стандарт ANSI SQL.

Розділювач команд - вкажіть розділювач окремих команд SQL; врахуйте, що програма завжди закінчує розділювач кінцем рядка.

Кодування - вкажіть кодування цільового файлу (файлів).

BOM - вкажіть, чи включати BOM (byte order mark) для кодування Unicode.

Commit-інтервал - вкажіть кількість записів джерела, після виводу яких потрібно в скрипт вписати вираз COMMIT; якщо вказано 0, вираз COMMIT вписується один раз після виводу останнього запису в скрипті; ігнорується, якщо тип цільової бази даних не підтримує виразів COMMIT в SQL.

Включати мемо-поля - вкажіть, чи включати вміст полів типу MEMO при експорті; при виключеній опції замість вмісту поля буде використовуватися константа, що описує тип поля. Поля MEMO можуть містити багато тексту, тому їх включення для даного формату експорту може суттєво вплинути на якість експорту, особливо якщо текст містить розділювачі полів або рядків або інші спеціальні символи.

Обрізати кінцеві пробіли - вкажіть, чи обрізати кінцеві пробіли та керуючі символи при експорті. Має значення лише для даних з полів типу varchar або char. Використання цієї опції дозволяє вилучити непотрібні дані і таким чином зменшити об'єм експортованих даних, покращити вигляд для деяких форматів призначення і т.д.

Початкові дії - дії (команди), що мають бути додані перед командами DML.

Очистити таблицю - вкажіть, чи додавати команду TRUNCATE (якщо підтримується цільовою базою даних) або DELETE у вихідний файл перед командами INSERT або MERGE. Не може використовуватися разом з опціями Видалити таблицю та Додати DDL.

Видалити таблицю - вкажіть, чи додавати команду DROP TABLE у вихідний файл перед командами INSERT або MERGE. Не може використовуватися разом з опцією Очистити таблицю.

Додати DDL - вкажіть, чи додавати команду DDL (CREATE TABLE...) у вихідний файл перед командами INSERT або MERGE. Не може використовуватися разом з опцією Очистити таблицю.

Додати IF (NOT) EXISTS - вкажіть, чи додавати вираз IF NOT EXISTS в команду CREATE TABLE, а також вираз IF EXISTS в команду DROP TABLE. Це підтримується базами даних PostgreSQL, MySQL, SQLite. Може використовуватися лише разом з опціями Додати DDL та/або Видалити таблицю.

Розрив рядка - вкажіть вид розриву рядка; якщо вкажете Windows, то кожен рядок файлу буде завершуватися символом переводу каретки та символом нового рядка (CR+LF); якщо вкажете Mac - завершувати рядок буде символ переводу каретки (CR); інакше буде задіяно стиль Unix (LF).

Режим експорту

Вкажіть режим експорту:

REPLACE+INSERT

Цільовий об'єкт вилучається (якщо існує), потім створюється заново і виконується вставка записів в нього.

CREATE_OR_REPLACE

Створюється пустий цільовий об'єкт відповідної структури; в разі існування цільовий об'єкт перезаписується.

APPEND

Записи додаються до цільового об'єкта, наявні записи залишаються. Якщо цільовий об'єкт не існує, він створюється.

Примітки
Формат та структура полів повинні бути сумісні з наявним цільовим об'єктом.

Зауваження: для багатотабличного експорту значення може бути перевизначено для кожної окремої таблиці у відповідностях таблиць.

Діапазон записів

Вкажіть діапазон записів для експорту:

Вся таблиця - експортуються всі записи
Лише вибрані записи - експортуються лише вибрані записи. Для вибору записів клацніть відповідну кнопку і виділіть потрібні записи за допомогою клавіш-стрілок, Shift та Ctrl.
Від поточного запису до останнього - експортуються всі записи від поточного до останнього.

Обмежити кількість записів до - вкажіть максимальну кількість записів для експорту. Якщо не вказано або менше 1, всі записи із вказаного діапазону записів будуть експортовані. Якщо потрібно просто створити файл (таблицю) без даних, використовуйте відповідний Режим експорту.

Діпазон колонок

Вкажіть діапазон колонок для експорту:

Всі колонки - експортуються всі колонки (включаючи колонки, що були тимчасово сховані користувачем).
Лише вибрані колонки - експортується лише вибрана (поточна) колонка.
Видимі колонки - експортуються лише видимі колонки.

Інші опції

Попереджувати про перезапис або вилучення - вкажіть, чи видавати попередження користувачу перед перезаписом наявного цільового об'єкту для режимів експорту REPLACE+INSERT та CREATE_OR_REPLACE. Ця опція недоступна при експортуванні даних до буферу обміну.

Див. також

Формат експорту База даних

Параметри запуску Database Tour

Відповідності таблиць і полів