Введение в СУБД "Oracle". Космачев В.М - 95 стр.

UptoLike

ГУАП МЦИТ
Введение в «ORACLE»
Под ред. проф. В.М.Космачёва
95
которой адресуются все команды). Если вы желаете копировать из другой БД, вы должны обязательно задавать фразу
FROM
.
TO имя_польз[/пароль][@описание_БД] -- Задает БД ,содержащую таблицу-адресат. Если вы опустили фразу TO,
то по умолчанию подразумевается БД, к которой подключен SQL*PLUS (т.е. БД, к которой адресуются все команды).
Если вы желаете копировать в другую БД, вы должны обязательно задавать фразу TO
.
APPEND -- Вставляет строки из запроса в таблицу-адресат, если она существует. Если таблица-адресат не
существует, COPY создает ее.
CREATE -- Вставляет строки из запроса в таблицу-адресат после того, как она будет создана. Если таблица-адресат
уже существует, будет получена ошибка.
INSERT -- Вставляет строки из запроса в таблицу-адресат, если она существует. Если таблица-адресат не существует,
будет получена ошибка.
REPLACE -- Замещает данные в таблице-адресате и вставляет строки из запроса в таблицу-адресат, если она
существует. Если таблица-адресат не существует, COPY создаст ее. Переменная LONG команды SET ограничивает
длину копируемых LONG-столбцов. Если некоторые LONG-столбцы содержат данные длиннее, чем значение
переменной LONG, COPY обрежет эти данные.
SQL*PLUS вносит изменения в БД после каждого успешного копирования. Если вы присвоили переменной
COPYCOMMIT положительное значение n (больше чем 0), изменения вносятся каждый раз после копирования n
пакетов записей. (Размер пакета определяется системной переменной ARRAYSIZE).
Примеры:
Следующая команда копирует таблицу EMP из БД stud в таблицу с именем WESTEMP в БД stud. Если WESTEMP
уже существует, SQL*PLUS заменит ее содержимое. Колонки таблиц EMP и WESTEMP имеют одинаковые имена.
SQL> COPY FROM stud1_1/stud @stud TO stud1_2/stud @stud
REPLACE WESTEMP
USING SELECT * FROM EMP
Следующая команда копирует выбранные записи из таблицы EMP базы данных stud в БД, к которой подключен
SQL*PLUS. SQL*PLUS создает SALESMAN при копировании. SQL*PLUS копирует только столбцы EMPNO и
ENAME, и данные столбцы получат имена EMPNO и SALESMAN.
SQL> COPY FROM stud1_2/stud @stud
CREATE SALESMAN (EMPNO,SALESMAN)
USING SELECT EMPNO, ENAME FROM EMP
WHERE JOB=’SALESMAN’
DEFINE (определить)
DEF[INE] [переменная] | [переменная = текст]
Команда DEFINE определяет переменную пользователя и присваивает ей CHAR значение. Или, показывает значение
и тип одной или всех переменных.
Переменная -- Задает пользовательскую переменную, чье значение вы хотите посмотреть или определить.
Текст -- Задает символьное значение, присваиваемое переменной. Если текст содержит пробелы или знаки
пунктуации, заключите его в одиночные кавычки.
переменная = текст -- Определяет переменную пользователя и присваивает ей символьное значение. Чтобы
посмотреть значение и тип переменной, введите DEFINE и имя переменной. Чтобы посмотреть значение и тип всех
переменных, введите DEFINE без параметров.
DEFINE-переменные сохраняют свои значения, пока не произойдет одно из следующих событий:
ввели новую команду DEFINE для данной переменной
ввели команду UNDEFINE для данной переменной
ввели команду ACCEPT для данной переменной
задали данную переменную во фразе NEW_VALUE или OLD_VALUE команды COLUMN и использовали
столбец в команде SELECT.
вышли из SQL*PLUS