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

-- Commissions report to be run monthly

DECLARE  --block for reporting monthly sales

 

Для команд SQL*Plus, можно использовать только комментарии в стиле "--" если они находятся на одной строке, например:

 

--set maximum width for LONG to 777

SET LONG 777

-- set the heading for ENAME to be SALESMAN

COLUMN ENAME HEADING SALESMAN

 

Эти комментарии неправильны:

 

SET LONG 777 -- set maximum width for LONG to 777

SET -- set maximum width for LONG to 777 LONG 777

 

Если вводится следующая команда SQL*Plus, она будет рассмотрена как комментарий и не будет выполнена:

 

-- SET LONG 777

Получение командных файлов

Если нужно поместить содержимое командного файла в буфер, нужно использовать команду SQL*Plus GET.

Также точно, как можно сохранить запрос из буфера в файл с помощью команды SAVE, можно получить запрос из файла в буфер с помощью команды GET:

 

SQL> GET file_name

 

Пример. Получение командного файла

Предположим, что нужно получить файл SALES в последней сессии. Это можно сделать вводом команды GET. Для получения SALES нужно ввести:

 

SQL> GET SALES

  1  COLUMN ENAME HEADING SALESMAN

  2  COLUMN SAL HEADING SALARY FORMAT $99,999

  3  COLUMN COMM HEADING COMMISSION FORMAT $99,990

  4  SELECT EMPNO, ENAME, SAL, COMM

  5  FROM EMP

  6* WHERE JOB = 'SALESMAN'

 

SQL*Plus получает содержимое файла SALES с расширением SQL в буфер и показывает его на экране. Затем можно продолжить редактирование команд. Если файл не содержит команды SQL*Plus его также можно выполнить с помощью команды RUN.

Выполнение командных файлов

Команда START  получает командный файл и выполняет содержащиеся в нём команды. Нужно использовать START для запуска командного файла, содержащего команды SQL, блоки PL/SQL и/или команды SQL*Plus. За словом START должно следовать имя файла: