Spec-Zone .ru
спецификации, руководства, описания, API

18.2. Используя Сохраненные Подпрограммы (Процедуры и Функции)

18.2.1. Сохраненный Стандартный Синтаксис
18.2.2. Сохраненные Подпрограммы и MySQL Privileges
18.2.3. Сохраненные Стандартные Метаданные
18.2.4. Хранимые процедуры, Функции, Триггеры, иLAST_INSERT_ID()

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

Сохраненные подпрограммы требуют proc таблица в mysql база данных. Эта таблица составляется во время процесса установки MySQL 5.7. Если Вы обновляете до MySQL 5.7 от более ранней версии, убедитесь, что обновили свои таблицы предоставления, чтобы удостовериться что proc таблица существует. См. Раздел 4.4.7, "mysql_upgrade — Таблицы MySQL Check и Upgrade" .

Сохраненные подпрограммы могут быть особенно полезными в определенных ситуациях:

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

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

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

Дополнительные Ресурсы