Глава 5. Сохраненные процедуры и функции

Глава 5. Сохраненные процедуры и функции

Сохраненные подпрограммы (процедуры и функции) обеспечиваются в MySQL 5.0. Сохраненная процедура представляет собой набор инструкций SQL, которые могут быть сохранены на сервере. Если это было выполнено, клиентура не должна хранить индивидуальные инструкции, а может обратиться к сохраненной процедуре.

Некоторые ситуации, где сохраненные подпрограммы могут быть особенно полезны:

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

Когда защита первостепенна. Банки, например, используют сохраненные процедуры и функции для всех общих операций. Это обеспечивает непротиворечивую и безопасную среду, и подпрограммы могут гарантировать, что каждая операция правильно регистрируется. В такой установке прикладные программы (и их пользователи!) не имеют никакого доступа к таблицам базы данных непосредственно, а могут только выполнять специфические сохраненные подпрограммы. То есть, при всем желании, не смогут приписать лишний ноль…

Сохраненные подпрограммы могут обеспечивать улучшенную эффективность, потому что меньшее количество информации должно быть переслано между клиентом и сервером. Правда это увеличивает нагрузку на сервер, поскольку большее количество работы выполнено на сервере. Рассмотрите это, если много машин пользователя (типа Web-серверов) обслуживаются только одним сервером базы данных.

Сохраненные подпрограммы также позволяют Вам иметь библиотеки функций непосредственно на сервере. Это свойство, общедоступное в современных языках прикладных программ, которые позволяют такой проект внутренне (например, используя классы). Использование этих свойств языка прикладной программы пользователя полезно для программиста даже вне контекста использования базы данных.

MySQL следует синтаксису SQL:2003 для сохраненных подпрограмм, который также используется в IBM DB2.

MySQL-реализация сохраненных подпрограмм все еще доделывается. Весь синтаксис, описанный в этой главе, обеспечивается, а любые ограничения и расширения зарегистрированы где надо.

Рекурсивные сохраненные процедуры заблокированы по умолчанию, но могут допускаться на сервере, устанавливая переменную max_sp_recursion_depth в значение, отличное от нуля. Сохраненные функции не могут быть рекурсивными.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Процедуры и функции 

Из книги автора

Процедуры и функции  VBScript поддерживаются два вида подпрограмм: встроенные функции и функции или процедуры


Функции и процедуры пользователя

Из книги автора

Функции и процедуры пользователя Для определения процедуры, т.е. подпрограммы, которая не возвращает никакого значения, в VBScript используется конструкция Sub…End Sub. После названия процедуры в круглых скобках указывается список ее параметров, например:Sub MyProcedure(Param1, Param2) Dim


3. Процедуры и функции (подпрограммы)

Из книги автора

3. Процедуры и функции (подпрограммы) Подпрограммы позволяют разбить одну сложную программу на несколько более простых и решать эти отдельные задачи самостоятельно, возможно даже, что делать это будут разные программисты и в разное время. Готовую подпрограмму,


2. Стандартные процедуры и функции

Из книги автора

2. Стандартные процедуры и функции Арифметические функции1. Function Abs(X);Возвращает абсолютное значение параметра.X – выражение вещественного или целочисленного типа.2. Function ArcTan(X: Extended): Extended;Возвращает арктангенс аргумента.X – выражение вещественного или целочисленного


ЛЕКЦИЯ № 3. Процедуры и функции

Из книги автора

ЛЕКЦИЯ № 3. Процедуры и функции 1. Понятие вспомогательного алгоритма Алгоритм решения задачи проектируется путем декомпозиции всей задачи в отдельные подзадачи. Обычно подзадачи реализуются в виде подпрограмм.Подпрограмма – это некоторый вспомогательный алгоритм,


Процедуры и функции

Из книги автора

Процедуры и функции Процедура – это именованный программный блок, который не возвращает никакого значения. В отличие от нее, функция — это именованный программный блок, возвращающий некоторое значение в точку вызова. Обычно в виде функций или процедур выделяют часто


5.3. Сохраненные процедуры, функции, триггеры и LAST_INSERT_ID()

Из книги автора

5.3. Сохраненные процедуры, функции, триггеры и LAST_INSERT_ID() Внутри тела сохраненной подпрограммы (процедуры или функции) или триггера значение LAST_INSERT_ID() меняется по обычным правилам. Эффект сохраненной подпрограммы или триггера на значение LAST_INSERT_ID(), который замечен


5.4. Сохраненные процедуры, функции, триггеры и репликация

Из книги автора

5.4. Сохраненные процедуры, функции, триггеры и репликация В MySQL 5.0 сохраненные процедуры и функции работают с репликацией?Да, стандартные действия, выполненные в сохраненных процедурах и функциях, скопируются. Имеются несколько ограничений, которые описаны подробно в


Переменные, процедуры и функции модуля ABCObjects

Из книги автора

Переменные, процедуры и функции модуля ABCObjects procedure LockDrawingObjects; Блокирует рисование графических объектов. Возможна лишь перерисовка всего экрана вместе со всеми графическими объектами на нем вызовом RedrawObjects procedure UnLockDrawingObjects; Разблокирует рисование


4. Стандартные процедуры и функции

Из книги автора

4. Стандартные процедуры и функции Арифметические функции1. Function Abs(X); возвращает абсолютное значение параметра.2. Function ArcTan(X: Extended): Extended; возвращает арктангенс аргумента.3. Function Exp(X: Real): Real; возвращает экспоненту.4. Function Frac(X: Real): Real; возвращает дробную часть аргумента.5. Function


7. Процедуры и функции в Pascal

Из книги автора

7. Процедуры и функции в Pascal Процедуры в PascalОписание процедуры состоит из заголовка и блока, который, за исключением раздела подключения модулей, не отличаются от блока программы. Заголовок состоит из ключевого слова Procedure, имени процедуры и необязательного списка