ECHO
Формат
ECHO {ON | OFF | ERROR}
Назначение
Трассировка SQL-запросов.
Описание
Команда позволяет осуществлять вывод в стандартный поток вывода всех или только ошибочных запросов выполняемого SQL-скрипта.
При указании опции ON выводятся:
-
тексты всех SQL-запросов до синтаксического разбора;
-
команды username;
-
команды create/alter proc;
-
команды blob insert, blob append, blob clear, blob get. Как и для других подобных команд, при этом выдается не исходный текст команды, а результат ее разбора. Лишние пробелы, если они были, не выдаются. Имена схем, таблиц и столбцов выдаются без кавычек (даже если кавычки были в исходном тексте). Тип столбца выдается только в случае, если он не 0. Явно заданное шестнадцатеричное значение выдается в верхнем регистре.
При указании опции OFF тексты SQL-запросов не выводятся (режим по умолчанию).
При указании опции ERROR выводятся тексты только тех SQL-запросов, при выполнении которых произошла ошибка. Если для SQL-запроса действует команда игнорирования ошибочного кода завершения (IGNORE), то такие запросы не трассируются.
Аналогично трассируются вызовы хранимых процедур.
Примеры
-
Файл
tst.sql
:echo off; ! >>> трассировка не выполняется drop table $$$LEVEL; echo on; ! >>>выполняется трассировка всех запросов drop table $$$LEVEL; echo error; ! >>>выполняется трассировка только ошибочных запросов drop table $$$LEVEL;
Запуск SQL-скрипта:
inl -u SYSTEM/MANAGER8 -f tst.sql > trace.sql
Результат выполнения скрипта (файл
trace.sql
):>>> трассировка не выполняется INL : начальное время : 14:54:07 конечное время : 14:54:08 INL : состояние выполнения : 83 нельзя явно изменять системную таблицу >>> выполняется трассировка всех запросов drop table $$$LEVEL; INL : начальное время : 14:54:08 конечное время : 14:54:08 INL : состояние выполнения : 83 нельзя явно изменять системную таблицу echo error; >>> выполняется трассировка только ошибочных запросов INL : начальное время : 14:54:08 конечное время : 14:54:08 INL : состояние выполнения : 83 drop table $$$LEVEL; нельзя явно изменять системную таблицу
-
В среде ОС типа Linux, ЗОСРВ Нейтрино:
echo 'select * from auto;' | inl -u SYSTEM/MANAGER8