Теория для лабораторной работы №3 - "Запросы и основы использования SQL*PLUS", страница 2

 

Просмотр содержимого буфера

Любая команда редактирования, кроме LIST и DEL влияет только на одну строку в буфере. Эта строка называется текущей строкой. Она помечена звёздочкой при просмотре текущей команды или блока.

Пример.

Предположим, что нужно просмотреть текущую команду. Используйте команду LIST, как показано ниже.

 

SQL> LIST

  1  SELECT EMPNO, ENAME, JOB, SAL

  2* FROM EMP WHERE SAL < 2500

 

Отметим, что точка с запятой, введённая в конце команды SELECT не показана. Эта точка с запятой нужна для отметки конца команды при её вводе, но SQL*Plus не сохраняет её в буфере SQL. Это делает редактирование более удобным, так как это подразумевает, что можно добавить новую строку в конец буфера без удаления точки с запятой из строки, которая была перед этим последней.

 

Редактирование текущей строки

 

Команда SQL*Plus CHANGE позволяет редактировать текущую строку:

·  Набрать LIST для нужной строки, чтобы сделать её текущей.

·  Когда к команде в буфере применяется LIST или RUN, последняя строка команды становится текущей. (Однако, используя команду слеш (/) для запуска команды в буфере не влияет на текущую строку.)

·  При получении сообщения об ошибке, строка содержащая ошибку, автоматически становится текущей.

 

Пример. Создание ошибки в команде

Предположим, что нужно выбрать столбец DEPTNO, но ошибочно он вводится как DPTNO. Нужно ввести следующую команду с преднамеренно неправильно написанным DEPTNO в первой строке:

 

SQL> SELECT DPTNO, ENAME, SAL

  2 FROM EMP

  3 WHERE DEPTNO = 10;

Это сообщение об ошибке появится на экране:

SELECT DPTNO, ENAME, SAL

       *

ERROR at line 1:

ORA-0904:  invalid column name

 

Рассмотрим сообщение об ошибке; оно показывает неправильное имя столбца в строка 1 запроса. Звёздочка показывает место ошибки с неправильно написанным столбцом DPTNO.

Вместо повторного ввода всей команды, можно исправить ошибку редактируя команду в буфере. Строка, содержащая ошибку сейчас является текущей строкой. Для исправления ошибки нужно использовать команду CHANGE. Эта команда состоит из трёх частей, разделённых слешами или другим не буквенно-числовым символом: