О web-разработке
и даже немного больше...

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

Хранимые процедуры в MySQL — это заранее скомпилированные наборы SQL-команд, которые хранятся на сервере и могут быть вызваны с помощью оператора CALL для выполнения повторяющихся или сложных задач. Они повышают производительность, уменьшая сетевой трафик и необходимость повторного анализа запросов, а также улучшают безопасность, скрывая структуру базы данных и контролируя доступ. Процедуры могут принимать параметры, возвращать наборы данных и используются для автоматизации, стандартизации и упрощения разработки приложений.

Хранимые процедуры в MySQL аналогичны процедурам в других языках программирования:

  • Они обрабатывают входные параметры и возвращают вызывающей процедуре или пакету значения в виде выходных параметров;
  • Они содержат программные инструкции, которые выполняют операции в базе данных, в том числе вызывающие другие процедуры;

Создание хранимой процедуры

CREATE PROCEDURE getAllClients()
BEGIN
SELECT * FROM clients;
END

# вызов процедуры
CALL getAllClients();

Удаление хранимой процедуры

DROP PROCEDURE getAllProducts;

В MySQL Workbench необходимо так же использовать функцию DELIMITER при создании хранимых процедур. Это разделитель, без которой программа просто выдаст ошибку при чтении запроса.

Use Cars_shop;

DELIMITER |
	DROP PROCEDURE getAllProducts;
|

DELIMITER |
CREATE PROCEDURE getAllProducts()
BEGIN
	SELECT * FROM product;
END
|

DELIMITER |
	CALL getAllProducts();
| 

Процедурам так же можно передавать один или несколько параметров. Список передаваемых параметров необходимо учитывать при создании процедуры, а также при их вызове.

# создание процедуры с параметрами
DELIMITER |
CREATE PROCEDURE getAllProducts(IN pname nvarchar(30), IN startPrice int)
BEGIN
	SELECT * FROM product WHERE name = pname AND price >= startPrice;
END
|

DELIMITER |
	CALL getAllProducts('Samsung S24', 15000);
|
Опубликован: 28.05.2026 г.

См. также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *