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), то такие запросы не трассируются.

Аналогично трассируются вызовы хранимых процедур.

Примеры

  1. Файл 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;
    нельзя явно изменять системную таблицу
  2. В среде ОС типа Linux, ЗОСРВ Нейтрино:

    echo 'select * from auto;' | inl -u SYSTEM/MANAGER8