_
Формат
_< спецификация файла >
< Спецификация файла > задает каталог, имя и расширение текстового файла, содержащего выполняемый SQL-скрипт.
Если в < спецификации файла > не указан каталог, то файл ищется в текущем каталоге.
Назначение
Выполнение SQL-скрипта.
Описание
Команда
_
(символ подчеркивания) заставляет
inl
выбирать команды для
выполнения не с терминала, а из указанного файла. Файл для команды
_
может
содержать SQL-запросы и/или команды
inl.
По достижении конца файла inl автоматически переключится на прием команд с терминала.
Входной файл – это обычный текстовый файл, который можно подготовить любым текстовым редактором, имеющимся в операционной системе. По умолчанию в inl в качестве входного файла установлен терминал пользователя.
Правила подготовки входного файла максимально просты: команды набираются так, как если бы они набирались в диалоговом режиме.
Этот файл может готовиться, естественно, не только текстовым редактором, но и любой программой, в том числе и средствами inl (см. команду EDIT).
Примеры
-
Заданный SQL-скрипт (
systab.sql
) ищется в подкаталогеdict
корневого каталога (ОС UNIX):SQL >_../dict/systab.sql
-
Данный пример демонстрирует запуск командного файла (
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 ******
).