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

 

SQL> SAVE SALES

Created file SALES

 

Отметим, что точка с запятой не вводилась в конце запроса. Если ввести точку с запятой SQL* Plus попытается выполнить содержимое буфера. Команды SQL* Plus  в буфере вызовут ошибку, потому что SQL* Plus ожидает найти только команды SQL в буфере.

Для ввода более одной команды SQL, нужно опускать точку с запятой для всех из команд SQL. Затем, нужно использовать команду APPEND для добавления ко всем кроме последней команды (SAVE добавляет слеш в конец файла автоматически. Он говорит SQL* Plus , что нужно запустить последнюю команду, когда выполняется командный файл).

Для ввода более одного блока PL/SQL, вводятся блоки один за другим без точки или слеша в строках между блоками. Затем для каждого блока, кроме последнего просматривается последняя строка блока, чтобы сделать её текущей и используется INPUT в следующей форме для вставки слеша в строку:

 

INPUT /

Создание командных файлов системным редактором

Также можно создать командный файл текстовым редактором основной операционной системы с помощью ввода команды EDIT с последующим именем файла:

SQL> EDIT SALES

Подобно команде SAVE, EDIT добавляет расширение SQL, если не введена точка и другое расширение в конце имени файла. Когда командный файл сохраняется с помощью текстового редактора, он сохраняется обратно в тот же файл.

Нужно вводить точку с запятой в конце каждой команды SQL и точку в конце самой строки после каждого блока PL/SQL в файле. (Можно включать несколько команд SQL и блоков PL.SQL).

Когда создается командный файл, используя EDIT также можно включить команды SQL* Plus в конце файла. Этого нельзя делать когда создаётся командный файл с помощью команды SAVE, т.к. SAVE добавляет слеш в конец файла. Этот слеш заставит SQL* Plus  запустить командный файл дважды, один – при достижении точки с запятой в конце последней команды SQL (или слеша после последнего блока PL/SQL) и другой раз – при достижении слеша в конце файла.

Помещение комментариев в командные файлы

Можно ввести комментарии в командный файл одним из трёх способов:

·  используя команду SQL*Plus REMARK