Sql сценарии

  • Часть 1
  • | 2
  • | 3
  • | 4

Как правило, создание триггеров и хранимых процедур осуществляется с использованием SQL сценария.

SQL сценарий (файл-сценарий, скрипт) – это текстовый файл, содержащий запросы и операторы SQL и обычно имеющий расширение sql. Все запросы, команды и операторы SQL сценария выполняются последовательно в том порядке, в котором они следуют в скрипте, и должны быть отделены друг от друга разделителем (точкой с запятой или тем, который задан с помощью оператора SET TERM).

В файле SQL сценария рекомендуется использовать разные разделители для разделения внутренних операторов ХП или триггера от внешних запросов (команд).

Новый внешний разделитель определяется оператором SET TERM в следующем формате:

SET TERM новый_разделитель старый_разделитель.

Например, чтобы определить в качестве разделителя два восклицательных знака   (!!)   вместо   обычного   разделителя   (;),   необходимо   использовать следующий оператор: SET TERM !! ;.

После этого точка с запятой будет использоваться для разделения внутренних операторов ХП или триггера, а два восклицательных знака – для отделения ХП, триггеров и других запросов (команд) друг от друга в файле SQL сценария. После использования нового разделителя восстановить старый разделитель можно следующей командой: SET TERM ; !!

SQL сценарий может содержать запросы на создание всех объектов БД, т.е. фактически являться моделью БД.

Запуск на выполнение SQL сценария в СУБД Firebirdпроизводится выбором пункта «Выполнить скрипт» (<F9>) меню редактора скриптов (<Ctrl+F12>) утилиты IBExpert. При выполнении скрипта происходит компиляция хранимых процедур и триггеров, включенных в текст данного SQL-скрипта.

В общем случае скрипт може содержать запросы модификации БД (язык DDL), запросы изменения данных (язык DML) и команды фиксации/отмены транзакций. Запросы выборки данных в скрипте использовать нельзя (кроме передачи их в строке с помощью оператора EXECUTE STATEMENT, который будет подробно рассмотрен позднее, или для задания набора данных курсора).

предыдущаяследующая