Хранимые процедуры: как функции для вашего SQL.
Хранимая процедура представляет собой пакет операторов SQL, созданных и хранимых в базе данных. Вы можете повторно использовать хранимую процедуру снова и снова.
Хранимая процедура может принимать параметры, выполнять запрос и возвращать результаты. Многие пользователи могут вызывать хранимую процедуру, и разные приложения могут вызывать ее с разными значениями параметров.
Каковы преимущества использования хранимых процедур?
Помимо возможности повторного использования несколькими пользователями и приложениями, хранимая процедура имеет и другие преимущества.
- Его легко изменить. При необходимости вы можете изменить хранимую процедуру, и эти обновления будут отражены для всех пользователей. Кроме того, вам не нужно повторно развертывать приложение при изменении хранимой процедуры.
- Это уменьшает сетевой трафик, поскольку сервер передает по сети только имя процедуры, а не весь запрос.
- Это повышает безопасность базы данных, поскольку пользователи не имеют прямого доступа к таблицам. Чтобы внести изменения, им нужно вызвать хранимую процедуру. Это предотвращает атаки SQL-инъекций, поскольку пользователи не могут напрямую писать в базовые таблицы.
Механизм базы данных, например MySQL имеет множество функций безопасности вы должны знать.
Синтаксис создания хранимой процедуры в SQL Server
Синтаксис создания хранимой процедуры следующий:
СОЗДАВАТЬПРОЦЕДУРА имя_процедуры
КАК
sql_statement
ИДТИ;
Запустите эту команду, чтобы выполнить хранимую процедуру.
EXEC имя_процедуры;
Пример простой хранимой процедуры в SQL Server
Вот пример хранимой процедуры, которая выбирает все статьи из базы данных статей.
СОЗДАВАТЬПРОЦЕДУРА Все_Статьи
КАК
ВЫБИРАТЬ * ОТ Статья
ИДТИ;
Это простой пример, но с помощью хранимых процедур можно делать гораздо больше, например принимать параметры и обновлять записи.
Как создать хранимую процедуру, которая принимает параметры
Например, измените простую хранимую процедуру, чтобы она принимала число в качестве параметра и использовала ее для возврата сообщений с числом просмотров, превышающим число.
СОЗДАВАТЬПРОЦЕДУРА Popular_Articles(@views) инт)
КАК
ВЫБИРАТЬ * ОТ Статья
ГДЕ количество просмотров >= @Просмотры_считать
ИДТИ;
Используйте эту команду для выполнения хранимой процедуры с параметром.
EXEC Popular_Articles 300;
Процедура возвращает статьи, число просмотров которых превышает 300.
Сначала изучите SQL, прежде чем использовать хранимые процедуры
Хранимые процедуры позволяют повторно использовать группу операторов SQL. Они также повышают безопасность базы данных, сокращают сетевой трафик и легко модифицируются.
Поэтому важно знать о хранимых процедурах, но сначала вы должны иметь четкое представление о SQL.