Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Обзор модулей сервера
Обзор модулей сервера
Языком высокого уровня для программирования в Firebird на стороне сервера является SQL. Исходный код предоставляется серверу в форме расширений языка программирования SQL- операторов и конструктов PSQL- и операторов DML. Сами эти операторы находятся внутри одного оператора DDL вида:
{CREATE | RECREATE | ALTER} {TRIGGER | PROCEDURE} <имя> . . .
. . .
AS
. . .
BEGIN
<один или более блоков операторов>
END
Синтаксис написания модулей PSQL подробно рассматривается в следующих главах.
Назначением каждого из этих "супероператоров DDL" является создание и сохранение одного исполняемого модуля (хранимой процедуры или триггера) или переопределение (RECREATE или ALTER) существующего объекта. Оператор DDL также используется для уничтожения (DROP) исполняемых объектов.
PSQL поддерживает три оператора манипулирования данными: INSERT, UPDATE и DELETE и возможность выборки (SELECT) одной строки или многострочных наборов элементов данных с помещением в локальные переменные. Расширения PSQL обеспечивают перечисленную далее языковую и логическую поддержку.
* Локальные переменные и операторы присваивания.
* Условные операторы управления потоком выполнения.
* Специальные контекстные переменные (только для триггеров) для доступа к старому и новому значению каждого столбца во всех входных наборах DML.
* Отправка определенных пользователем событий базы данных прослушивающим клиентам.
* Исключения, в том числе определенные пользователем, объявленные как объекты базы данных, а также (в версии 1.5) специфичные для контекста сообщения об исключениях, поддержка структуры и синтаксиса для обработки ошибок.
* Входные и выходные аргументы (только для хранимых процедур).
* Инкапсуляция поведения курсора в синтаксисе цикла FOE SELECT ... INTO ... DO.
* Оператор SUSPEND (только для хранимых процедур), предоставляющий возможность написания хранимых процедур, которые выводят виртуальную таблицу на запрос в операторе SELECT - хранимые процедуры выбора.
* Внутренние вызовы хранимых процедур в хранимых процедурах и триггерах.
* Возможность определения множества триггеров для фаз BEFORE (до) и AFTER (после) в триггерах для каждого события DML и задание их позиции в предварительно определенном порядке их исполнения. В версии 1.5 появилась возможность писать условные триггеры BEFORE и AFTER, объединяющие любые из всех возможных событий DML.
За исключением указанных специфических элементов все множество языка PSQL доступно для хранимых процедур и триггеров.
- Запуск InterBase-сервера
- Расширенная установка InterBase-сервера
- Глава 1. Обзор Ruby
- Обзор основных причин повреждения базы данных
- Статистика InterBase-сервера
- Минимальный состав сервера InterBase SuperServer
- Отличительные особенности сервера Yaffil
- Первый просмотр: краткий обзор
- Использование сервера Yaffil внутри процесса
- Одновременный запуск нескольких копий сервера (multi-instancing)
- Мониторинг состояния сервера
- 9.2. Работа прокси-сервера