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

 

SQL> LIST

  1  SELECT DEPTNO, ENAME, SAL

  2  FROM EMP

  3  WHERE DEPTNO = 10

  4* ORDER BY SAL DESC

 

Если показанный запрос не в буфере, о нужно ввести запрос сейчас. Затем вводится команда SAVE с последующим именем файла DEPTINFO:

 

SQL> SAVE DEPTINFO

Created file DEPTINFO

 

Можно проверить существование командного файла DEPTINFO вводом команды SQL*Plus HOST с последующей командой просмотра файлов основной ОС:

 

SQL> HOST your_host's_file_listing_command

 

Такой же метод можно использовать для сохранения находящегося в буфере блока PL/SQL.

 

2.  Создание командного файла, используя команды INPUT и SAVE

Если используется INPUT для ввода команд, можно вводить команды SQL*Plus (также как и одна или более команд SQL или блоков PL/SQL) в буфер. Сначала нужно ввести команды SQL*Plus и команды(у) SQL или блок(и) PL/SQL также, как если бы вы вводили команды прямо из командной строки.

Можно также сохранить набор команд SQL*Plus, которые планируются использоваться с многими запросами в командном файле.

 

Пример. Сохранение команд, используя команды INPUT и SAVE

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

 

SQL> CLEARBUFFER

 

Затем используются команда INPUT (не нужно вводить точку с запятой в конце команды):

 

SQL> INPUT

  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'

  7

 

Теперь используется команды SAVE для сохранения запросов в файле SALES.SQL: