070495c0

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


Команды 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



Содержание раздела