Хранимая процедура представляет собой подпрограмму на языке SQL. Хранимые процедуры позволяют повысить производительность, расширяют возможности программирования и поддерживают функции безопасности, недоступные при использовании команд SQL, отсылаемых для обработки на сервер.
Повышается производительность - за счет локального (по отношению к базе данных) хранения и прекомпиляции исходного текста процедуры. Возможности программирования расширяются благодаря применению таких распространенных средств программирования, как использование входных и выходных параметров, а также поддержке многократного использования уже созданных хранимых процедур. Функции безопасности реализуются через разрешения на использование процедуры только определенными пользователями. В результате пользователи получают лишь ограниченный доступ к внутренней структуре базы данных, а для выполнения манипуляции с данными обращаются к хранимым процедурам.
Оператор CREATE PROCEDURE создает хранимую процедуру в базе данных. Синтаксис оператора CREATE PROCEDURE выглядит так:
CREATE PROCEDURE {имя хранимой процедуры}
[
{@параметр1} {тип данных} [OUTPUT],
{@параметр2} {тип данных} [OUTPUT], ...
]
AS {текст хранимой процедуры}
Оператор DROP PROCEDURE удаляет хранимую процедуру из базы данных. Синтаксис оператора DROP PROCEDURE выглядит так:
DROP PROCEDURE {имя хранимой процедуры}
Оператор EXEC используется для выполнения хранимой процедуры. Синтаксис оператора EXEC выглядит так:
EXEC {имя хранимой процедуры}
[{@параметр1} [OUTPUT], {@параметр2} [OUTPUT], ...]