EDIT

Формат

EDIT [< спецификация файла >]

< спецификация файла >::= местонахождение (полный путь, имя и расширение) редактируемого SQL-скрипта.

Если < спецификация файла > не задана, по умолчанию используется файл inl.buf из каталога запуска inl.

Назначение

Интерактивное создание/редактирование SQL-скрипта.

Описание

Команда EDIT используется для интерактивного (т.е. не выходя в операционную систему) создания или редактирования SQL-скрипта во внешнем буфере inl.

Все SQL-запросы и команды, которые влияют на отображение результатов выполнения SQL-запросов, inl запоминает и хранит в своем рабочем буфере размером 64 Кбайт. Таким образом, максимальная длина SQL-запроса, обрабатываемого программой inl, равна 64 Кбайт.

Рабочий буфер всегда (кроме самого первого запуска inl после установки СУБД ЛИНТЕР) содержит два объекта: последнюю выполненную команду (outfil, header, unload или !) и последний (введенный пользователем) или выполненный программой inl SQL-запрос.

После выполнения SQL-запроса его текст из буфера не удаляется, поэтому можно:

  • повторить его выполнение необходимое число раз (например, с различными значениями параметров параметризованного SQL-запроса);

  • отредактировать и выполнить;

  • сохранить в отдельном файле для будущего использования.

Повторное выполнение SQL-запроса выполняется по команде EXEC.

Процесс подготовки и выполнения SQL-запроса в интерактивном режиме проходит в следующей последовательности:

  1. выполнить команду edit.

    SQL >edit

    после чего inl:

    • удаляет из текущего каталога файл inl.buf (если он там есть);

    • открывает на запись новый файл inl.buf (все в том же текущем каталоге);

    • переписывает из внутреннего буфера в файл inl.buf последний выполненный (введенный) SQL-запрос и, если есть, последнюю команду форматирования;

    • закрывает файл inl.buf и вызывает на выполнение стандартный системный редактор текстовых файлов (рисунок 5) (например, в среде ОС Windows это Notepad), который открывает файл inl.buf.

      Окно текстового редактора
      Рисунок 5. Окно текстового редактора

  2. ввести (если файл inl.buf пуст) или откорректировать (при необходимости) с помощью стандартных средств редактора текст SQL-скрипта;

  3. сохранить при необходимости созданный (откорректированный) SQL-скрипт в отдельном текстовом файле;

  4. выйти из редактора. INL переписывает содержимое inl.buf в свой внутренний буфер. После этого созданный (откорректированный) SQL-скрипт можно выполнить сразу же или позднее по команде EXEC;

  5. при активизации редактора вместо открываемого по умолчанию файла inl.buf можно с помощью стандартных средств самого редактора открыть любой ранее созданный SQL-скрипт, текст которого будет сохранен при закрытии редактора по умолчанию в inl.buf.

Пример

!Запуск редактора для ввода текста SQL-скрипта
SQL >edit
!В окне редактора вводим текст SQL-скрипта и сохраняем его
!в файле по умолчанию inl.buf, закрываем редактор

!Выполняем созданный SQL-скрипт
SQL >exec
!Получаем код завершения «Несуществующая таблица»
!Просматриваем текст последнего выполненного SQL-запроса
SQL >list
!Среди выданных командой list параметров находим текст выполненного SQL-запроса
Запрос:  select  count(*) from avto;
!Вызовем редактор для исправления ошибки
SQL >edit
!В окне редактора вносим исправление в текст SQL-скрипта и сохраняем  его в
 файле по умолчанию inl.buf, закрываем редактор

!Выполняем исправленный SQL-скрипт
SQL >exec
!Полученный результат смотрим в указанном в SQL-скрипте файле tst
|         1000|
ECHO
EHEAD