Хранимая процедура в SQL
НАВИГАЦИЯ ПО СТРАНИЦЕ
Создание хранимой процедуры :
CREATE PROCEDURE procedure_name
[IN | OUT | INOUT] parameter_name data_type,
...
BEGIN
-- тело процедуры: SQL-инструкции
END;
Пример создания хранимой процедуры для обновления зарплаты сотрудника:
CREATE PROCEDURE UpdateSalary(IN employeeID INT, IN newSalary DECIMAL(10,2))
BEGIN
UPDATE Employees SET Salary = newSalary WHERE EmployeeID = employeeID;
END;
Вызов хранимой процедуры :
CALL procedure_name(parameter1, parameter2, ...);
Пример вызова созданной ранее процедуры UpdateSalary:
CALL UpdateSalary(1, 60000.00);
Пример хранимой процедуры с OUT параметром:
CREATE PROCEDURE GetEmployeeCount(OUT totalEmployees INT)
BEGIN
SELECT COUNT(*) INTO totalEmployees FROM Employees;
END;
Пример использования OUT параметра при вызове:
DECLARE employeeCount INT;
CALL GetEmployeeCount(employeeCount);
SELECT employeeCount;
Удаление хранимой процедуры :
DROP PROCEDURE procedure_name;
Пример удаления процедуры UpdateSalary:
DROP PROCEDURE UpdateSalary;
Преимущества хранимых процедур :
Повышение производительности: Хранимые процедуры могут быть предварительно скомпилированы и сохранены на стороне сервера, что снижает накладные расходы при выполнении.
Безопасность: Хранимые процедуры позволяют ограничивать доступ к данным и управлять правами доступа.
Переиспользование кода: Процедуры могут быть вызваны из различных частей приложения, что способствует переиспользованию кода.
Улучшенная обслуживаемость: Изменения в логике приложения могут быть внесены в одном месте - в хранимой процедуре, что упрощает обслуживание.
Улучшение структурированности кода: Разделение логики приложения на части, такие как хранимые процедуры, способствует лучшей структурированности кода.
Хранимые процедуры предоставляют мощный инструмент для работы с данными в базе данных, уменьшая нагрузку на сеть и обеспечивая лучшую обработку данных на стороне сервера.