Базы данных Oracle - статьи


Копирование данных из одной базы данных в другую


Утилита SQL*Plus предлагает собственные средства копирования данных из одной базы данных в другую и из одной таблицы в другую. Для этого используется команда COPY, которая позволяет:

  • копировать данные с удаленной базы данных в текущую;
  • копировать данные из текущей базы данных на удаленную;
  • копировать данные из одной удаленной базы данных в другую.

Примечание

В общем случае, предполагалось копирование данных между базой данных Oracle и базой данных другого производителя. В среде Oracle для копирования данных можно использовать SQL-операторы (CREATE TABLE AS и INSERT).

Команда COPY имеет следующий синтаксис:

<команда COPY> ::=

COPY <направление копирования> <действие копирования>

<имя целевой таблицы> [(<имя столбца>{, <имя столбца>})] USING <запрос>

<направление копирования> ::=

FROM <база данных>

  | TO <база данных>

  | FROM <база данных> TO <база данных>

<база данных> ::=

<имя пользователя>[/<пароль>]@<строка связи>

<действие копирования> ::=

APPEND | CREATE | INSERT | REPLACE

Она копирует данные, возвращаемые запросом, в таблицу в локальной или удаленной базе данных. Поддерживаются только базовые типы данных (CHAR, DATE, LONG, NUMBER, VARCHAR2) и в будущих версиях (после 9.0.1) поддержка этой команды не гарантируется.

Если в конструкции <база данных> пароль не указан, SQL*Plus запросит его перед выполнением команды.

Действия копирования описаны в .

Таблица 12. Действия копирования команды COPY.

Действие Описание
APPEND

Вставляет возвращенные запросом строки в целевую таблицу, если она существует. Если же таблица не существует, она создается.

CREATE

Вставляет возвращенные запросом строки в целевую таблицу, предварительно создавая ее. Если же таблица уже существует, возвращается сообщение об ошибке.

INSERT

Вставляет возвращенные запросом строки в целевую таблицу. Если таблица не существует, возвращается сообщение об ошибке. В список выбора запроса должно входить по одному столбцу для каждого столбца целевой таблицы.

REPLACE

Заменяет целевую таблицу и ее содержимое строками, возвращенными запросом. Если целевая таблица не существует, она создается. В противном случае, существующая таблица удаляется и вместо нее создается новая, содержащая скопированные данные.

<


Начало  Назад  Вперед