Эта глава посвящена изучению процедурного языка SQL, который предполагает расширение стандартного набора запросов, изученных в предыдущих главах, средой программирования.
В СУБД Firebird существует возможность создания независимых исполняемых модулей, представленных разработчиками в виде исходных кодов. Такие коды выполняются полностью на сервере, возвращая при необходимости клиентскому приложению значения, полученные в результате выполнения. Язык, который предоставляет такую возможность для сервера Firebird, называется PSQL (процедурный SQL). Это простой, но мощный набор расширений языка SQL, которых нет в стандарте SQL2, но которые включены в стандарт языка SQL3. Такими расширениями являются триггеры и хранимые процедуры.
В настоящей главе, прежде всего, рассмотрен ряд предварительных вопросов, относящихся к процедурному языку, без знания которых невозможно создавать и использовать триггеры и хранимые процедуры. Далее приведены особенности создания и работы с хранимыми процедурами и триггерами. Здесь же отдельно рассмотрен оператор EXECUTE BLOCK, который предоставляет возможность выполнения кода на PSQL без оформления именованной ХП. Такой фрагмент кода на PSQL подобен хранимой процедуре (может иметь входные и выходные параметры, результат работы идентичен результату ХП).