_

Формат

_< спецификация файла >

< Спецификация файла > задает каталог, имя и расширение текстового файла, содержащего выполняемый SQL-скрипт.

Если в < спецификации файла > не указан каталог, то файл ищется в текущем каталоге.

Назначение

Выполнение SQL-скрипта.

Описание

Команда _ (символ подчеркивания) заставляет inl выбирать команды для выполнения не с терминала, а из указанного файла. Файл для команды _ может содержать SQL-запросы и/или команды inl.

По достижении конца файла inl автоматически переключится на прием команд с терминала.

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

Правила подготовки входного файла максимально просты: команды набираются так, как если бы они набирались в диалоговом режиме.

Этот файл может готовиться, естественно, не только текстовым редактором, но и любой программой, в том числе и средствами inl (см. команду EDIT).

Примеры

  1. Заданный SQL-скрипт (systab.sql) ищется в подкаталоге dict корневого каталога (ОС UNIX):

    SQL >_../dict/systab.sql
  2. Данный пример демонстрирует запуск командного файла (append.sql). Этот файл содержит три запроса на добавление (в таблицы AUTO, FINANCE и PERSON) и контрольный запрос на поиск.

    Содержимое файла append.sql:

    Page
    Time
    Count
    ! ****** Insert Into Table AUTO  ******
    INSERT INTO AUTO VALUES('VOLVO', '4 DR', 'COUPE', 8, 120, 118, 2900, 'BLACK',
     70, 'O262593464330109', 720303, 98224, 10001);
    ! ****** Ok. ******
    ! ****** Insert Into Table FINANCE ******
    INSERT INTO FINANCE VALUES('AMERICAN EXPRESS', 300, 800, 'ARCO', 1600, 5,
     'HARTFORD INSURANCE', 21000, 'RUTGERS', '', 'SEASHORE PROP.', 'SECURITY PACIFIC
     NATIONAL L.A.',10001);
    ! ****** Ok. ******
    ! ****** Insert Into Table PERSON ******
    INSERT INTO Person (FIRSTNAM, PERSONID) VALUES('JENNIFER',10001);
    ! ****** Ok. ******
    ! ****** Test Query ******
    SELECT COUNT(*) FROM AUTO, FINANCE, PERSON
    WHERE Person.PersonId =10001 AND
    Auto.PersonId=Person.PersonId AND
    Finance.PersonId=Person.PersonId;

    Для выполнения этого запроса нужно подать команду запуска:

    SQL >_append.sql
    ******  Insert Into Table AUTO  ******
    ******  Ok. ******
    ******  Insert Into Table FINANCE ******
    ******  Ok. ******
    ******  Insert Into Table PERSON  ******
    ******  Ok. ******
    ******  Test Query  ******
    1
    SQL >

    Примечание

    Если сразу после запуска файла append.sql подать команду EXEC, то еще раз выполнится контрольный запрос на поиск, но без комментария (****** Test Query ******).