!
Формат
! [символьная строка]
Назначение
Вывод на экран терминала или в выходной файл символьной строки.
Описание
При обработке SQL-скриптов часто возникает необходимость вести
протокол выполнения SQL-скрипта, т.е. выдавать на экран терминала
(или в выходной файл) сообщения о том, какая работа выполняется в
текущий момент или уже была выполнена, Это можно сделать с помощью
комментариев, которые явно записываются в SQL-скрипт и выводятся по
команде
!
. Дополнительно команда
!
может использоваться для форматирования результатов поисковых
SQL-запросов, выводимых в файл в виде простых справок (отчетов).
Команда обрабатывается следующим образом:
-
текст комментария выводится на экран терминала. Если используется средство операционной системы для перенаправления стандартного вывода – то в указанный выходной файл;
-
если команда задается в интерактивном режиме, то текст комментария просто дублируется на экране. Таким способом можно протоколировать интерактивную работу пользователя;
-
текст выводится в том виде, в каком он задан, начиная от символа
!
и до конца строки. Только первый встретившийся в строке символ!
воспринимается как команда, все остальные – как обычные символы; -
команда
!
воздействует только на одну строку SQL-скрипта. Перенос комментария не допускается (необходимо в каждой продолжающейся строке комментария повторять команду!
); -
использование комментария внутри текстов SQL-запросов запрещается (в общем случае будет фиксироваться синтаксическая ошибка).
Примеры
-
Пусть содержимое SQL-скрипта
sample.sql
будет следующее:! *** исполняется запрос – que1.sql _que1.sql ! *** исполняется запрос – que2.sql _que2.sql ! *** исполняется запрос – que3.sql _que3.sql
Протокол выполнения скрипта
sample.sql
на экране терминала будет выглядеть следующим образом:SQL > _sample *** исполняется запрос – que1.sql *** исполняется запрос – que2.sql *** исполняется запрос – que3.sql SQL >
Если SQL-скрипт
sample.sql
запущен на выполнение какINL -u SYSTEM/MANAGER8 -f c:\test_INL\sample >prtcol.txt
то протокол выполнения будет записываться в файл
prtcol.txt
, создаваемый в том же каталоге, в котором выполняется inl. -
Пример использования команды
!
для форматирования выборки данных поискового запроса. Пусть SQL-скрипт имеет следующий вид:time ! Справка ! об автомобилях выпуска до 1970 года select make as "Изготовитель", model as "Модель" from auto where year < =70;
Команда
TIME
добавлена, чтобы исключить из справки временные параметры выполнения SQL-запроса. Тогда справка будет выдана в следующем виде:Справка об автомобилях выпуска до 1970 года Изготовитель Модель – – |ALPINE |A-310 | |CHRYSLER |DODGE CORONET CUSTOM| |AMERICAN MOTORS |GREMLIN X | |GENERAL MOTORS |OLDSMOBILE 98 | . . .
Примечание
Комментарии, задаваемые по команде
!
, являются исполняемыми, т.е. всегда выводятся на экран или в
выходной файл.
Для комментирования (документирования) текстов SQL-скриптов можно
использовать неисполняемые комментарии. Они задаются следующим
образом:
< однострочный SQL-оператор > [!]< комментарий >;
Например:
create role ROLE1 for XXXX ; Роль "Начальник отдела";
или
create role ROLE1 for XXXX; ! Роль "Начальник отдела";
причем и SQL-оператор и комментарий к нему должны размещаться на одной строке. Комментарий должен заканчиваться знаком ';'. Знак '!' (признак исполняемого комментария) можно не задавать – он все равно будет проигнорирован.