FirebirdSQL logo

isql команда SET TERM

Назначение

Изменение символа(ов) терминатора, чтобы избежать конфликта с терминатором в PSQL операторах.

Доступно в

ISQL.

Синтаксис
SET TERM new_terminator old_terminator
Table 1. Параметры оператора SET TERM
Параметр Описание

new_terminator

Новый терминатор.

old_terminator

Старый терминатор.

При написании триггеров и хранимых процедур в текстах скриптов, создающих требуемые программные объекты базы данных, во избежание двусмысленности относительно использования символа завершения операторов (по нормам SQL это точка с запятой) применяется оператор SET TERM, который, строго говоря, не является оператором SQL, а является командой интерактивного инструмента isql.При помощи этого оператора перед началом создания триггера или хранимой процедуры задаётся символ или строка символов, являющийся завершающим в конце текста триггера или хранимой процедуры.После описания текста соответствующего программного объекта при помощи того же оператора SET TERM значение терминатора возвращается к обычному варианту — точка с запятой.

Альтернативный терминатор может быть любой произвольной строкой символов за исключением точки с запятой, пробела и апострофа.Если вы используете буквенный символ, то он будет чувствителен к регистру.

Example 1. Задание альтернативного терминатора
SET TERM ^;

CREATE OR ALTER PROCEDURE SHIP_ORDER (
    PO_NUM CHAR(8))
AS
BEGIN
  /* Тело хранимой процедуры */
END^

/* Другие хранимые процедуры и триггеры */

SET TERM ;^

/* Другие операторы DDL */
Тело внешнего модуля

Тело внешнего модуля определяет механизм UDR, используемый для выполнения внешнего модуля, и дополнительно указываетимя вызываемой процедуры UDR (<extname>) и/или строку (<extbody>) с семантикой, специфичной для UDR.

Конфигурация внешних модулей и механизмов UDR не рассматривается далее в этом справочнике по языку.За подробностями обращайтесь к документации по конкретному движку UDR.