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


Редактирование команд


Команды SQL*Plus не попадают в буфер, поэтому редактировать их можно только по ходу ввода с помощью клавиши Backspace.

Утилита SQL*Plus поддерживает несколько команд редактирования текста в буфере. Они представлены в .

Таблица 4. Команды редактирования SQL*Plus.

Команда Назначение
A[PPEND] <текст>

Добавляет <текст> в конце строки.

C[HANGE] /<старая>[/<новая>[/]]

Заменяет в строке подстроку <старая> строкой <новая>. Если <новая> не указана, просто удаляет подстроку <старая>.

CL[EAR] BUF[FER]

Удаляет все строки из буфера.

DEL [*]

Удаляет текущую строку.

DEL <n> [* | <m> | LAST]

Удаляет строку с номером <n>, или со строки <n> до текущей, до строки <m> или до последней строки, соответственно.

DEL * [<n> | LAST]

Удаляет с текущей строки по строку <n> или до конца, соответственно.

DEL LAST

Удаляет последнюю строку.

ED[IT] [<имя файла>[.<расширение>]]

Вызывает текстовый редактор операционной системы и загружает в него буфер или указанный файл. Если редактируется буфер, то в текущем каталоге создается файл afiedt.buf, в котором и находится результат редактирования. Загрузка изменений в буфер выполняется автоматически после выхода из редактора. Стандартный редактор в ОС UNIX задается переменной среды _EDITOR. По умолчанию в ОС UNIX используется редактор ed, а в Windows - Notepad.

I[NPUT] [<текст>]

Вставляет строку или <текст>, в том числе, из нескольких строк, в буфер после текущей строки.

LIST [<n> | * | LAST]

Выдает, соответственно, все строки в буфере SQL, строку с указанным номером, текущую или последнюю строку.

LIST <n> [* | <m> | LAST]

Выдает строку с номером <n>, все строки, начиная со строки с номером <n>, до текущей, строки с номером <m> или до конца буфера, соответственно.

LIST * [<n> | LAST]

Выдает все строки с текущей строки до строки с номером <n> или до последней строки, соответственно.

Рассмотрим пример:

SQL> select ename, salary from emp; select ename, salary from emp * ошибка в строке 1: ORA-00904: неверно имя столбца

SQL> c /salary/sal

1* select ename, sal from emp SQL> i where deptno=30;

SQL> /

ENAME SAL ---------- ---------- ALLEN 1600 WARD 1250 MARTIN 1250 BLAKE 2850 TURNER 1500 JAMES 950

6 строк выбрано.

SQL> list

1 select ename, sal from emp 2* where deptno=30




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



Книжный магазин