Обзор модулей сервера
Обзор модулей сервера
Языком высокого уровня для программирования в 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 доступно для хранимых процедур и триггеров.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Сборка модулей
Сборка модулей Благодаря новой системе сборки "kbuild", в ядрах серии 2.6 сборка модулей выполняется значительно проще, чем в старых сериях. Первое, что нужно сделать при сборке модулей, — это решить, где будет находиться исходный код модуля. Исходный код модуля необходимо
Инсталляция модулей
Инсталляция модулей Скомпилированные модули должны быть инсталлированы в каталог /lib/modules/version/kernel. Например, для ядра 2.6.10 скомпилированный модуль управления удочкой будет находиться в файле /lib/modules/2.6.10/kernel/drivers/char/fishing.ko, если исходный код находился непосредственно в
Загрузка модулей
Загрузка модулей Наиболее простой способ загрузки модуля — это воспользоваться утилитой insmod. Эта утилита выполняет самые общие действия. Она просто загружает тот модуль, который ей указан в качестве параметра. Утилита insmod не отслеживает зависимости и не выполняет
Параметры модулей
Параметры модулей Ядро Linux предоставляет возможность драйверам определять параметры, которые пользователь будет указывать при загрузке ядра или модуля. Эти параметры будут доступны коду модуля в качестве глобальных переменных. Указанные параметры модулей также будут
Вокруг модулей
Вокруг модулей В этой главе были рассмотрены особенности написания, сборки, загрузки и выгрузки модулей ядра. Мы обсудили, что такое модули и каким образом ядро операционной системы Linux, несмотря на то что оно является монолитным, может загружать код динамически. Были
17.5.6. Компиляция модулей
17.5.6. Компиляция модулей Если вы сконфигурировали какие-то драйверы как отдельные модули (выбирали при конфигурации вариант "m" при ответе на некоторые вопросы), то вы теперь должны еще выполнить команду make modules, а затем еще команду make modules_install. В файле Documentation/modules.txt можно
Приложение 2 100 SEO-модулей
Приложение 2 100 SEO-модулей 1. Модуль сбора позиций.2. Модуль генерации ЧПУ.3. Модуль генерации Description.4. Модуль генерации Title.5. Модуль генерации H1.6. Ловец ботов.7. Модуль перелинковки для улучшения анкорного ранжирования.8. Модуль перелинковки для индексации новых страниц.9.
2. Модули. Виды модулей
2. Модули. Виды модулей Модуль(1Ж1Т) в Pascal – это особым образом оформленная библиотека подпрограмм. Модуль, в отличие от программы, не может быть запущен на выполнение самостоятельно, он может только участвовать в построении программ и других модулей. Модули позволяют
Конструирование модулей
Конструирование модулей Введение Эта обучающая серия обещает стать возможно одной из самых долгоиграющих мини-серий в истории, конкурирующей только с задержкой на Томе IV Кнута. Начатая в 1988, эта серия вошла в четырехлетнюю паузу в 1990, когда «заботы мира сего», изменения
Планирование модулей
Планирование модулей Нельзя сказать, что проблема организации модулей слишком сложна. Имеет смысл подумать только над тем, сколько модулей следует создать и какие процедуры должны в них войти. Вот те моменты, о которых нужно при этом помнить.Процедуры могут вызывать или
Создание модулей классов
Создание модулей классов В VBA класс является шаблоном, по которому создаются подобные объекты. Класс определяет, какие свойства, методы и события должен иметь объект и как должен "вести" себя каждый из этих компонентов.Чтобы создать класс, начните со вставки нового модуля
5.6. Диаграммы модулей
5.6. Диаграммы модулей Существенное: модули и их зависимость Диаграмма модулей показывает распределение классов и объектов по модулям в физическом проектировании системы. Каждая отдельная диаграмма модулей представляет некоторый ракурс структуры модулей системы. При
11.2.7. Как работает включение модулей?
11.2.7. Как работает включение модулей? Когда модуль включается в класс, Ruby на самом деле создает прокси-класс, являющийся непосредственным родителем данного класса. Возможно, вам это покажется интуитивно очевидным, возможно, нет. Все методы включаемого модуля
Тестирование модулей
Тестирование модулей Тестирование модулей (unit testing) представляет собой процесс тестирования отдельных частей независимо от самой программы.Одним из новых методов разработки программного обеспечения, который появился уже при написании этой книги, является
Разработка модулей
Разработка модулей Разработка модулей PSQL является жизненно важной частью деятельности, как разработчика, так и администратора базы данных. Поскольку запросы администратора Firebird ясны, обычно на практике эти две роли объединяются. В процессе разработки обычно довольно
Вставка модулей Joomla!
Вставка модулей Joomla! Теперь у нас есть основа для вставки модулей. Переместите курсор к той ячейке таблицы шаблона, в которой вы хотите разместить, например, поле поиска и нажмите кнопку Вставить поиск (Insert Search). Рис. 20: Вставка поля поискаПоле поиска появится в