Поиск

Хранимые процедуры и функции

Хранимые процедуры и функции - это новая возможность, появившаяся в версии MySQL 5.O. Хранимая процедура представляет собой набор SQL-операторов, ко­торые можно сохранять на сервере. После того, как это будет сделано, клиентам больше не придется повторно задавать одни и те же отдельные операторы; вместо этого они смогут обращаться к хранимой процедуре.
Ситуации, когда хранимые процедуры могут оказаться особенно полезными, таковы:

  • Многочисленные клиентские приложения написаны на разных языках или рабо тают на различных платформах, но должны выполнять одинаковые операции с базами данных.
  • Безопасность играет первостепенную роль. В банках, например, хранимые проце дуры используются для всех стандартных операций. Это обеспечивает совмести мость и безопасность среды, а процедуры гарантируют надлежащую регистрацию каждой операции. При таком типе установки приложения и пользователи не по лучают непосредственный доступ к таблицам базы данных и могут выполнять только конкретные хранимые процедуры.

Хранимые процедуры помогают повысить эффективность, поскольку при их исполь­зовании объем пересылаемой между сервером и клиентом информации существенно снижается. Обратная сторона состоит в том, что это увеличивает нагрузку на систему сервера баз данных, так как в этом случае на стороне клиента (приложения) выполняется меньшая часть работы, а на стороне сервера - большая. Обязательно учитывайте это, если сразу большое количество клиентских машин (таких как Web-серверы) обслуживает только один или всего несколько серверов баз данных.
Хранимые процедуры также позволяют создавать библиотеки функций на сервере баз данных. Эта опция, используемая современными языками приложений, допускает внутреннее применение такого проекта, например, для классов. Для программиста будет выгодным использование этих особенностей языка клиентских приложений даже вне контекста баз данных.
MySQL для хранимых процедур применяет синтаксис SQL:2003, который также используется в IBM DB2.

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