← К оглавлению занятия

🔖 Справочник

📁 Блок: SQL / MySQL / Хранимые процедуры ⏱️ Время изучения: ~90 мин 🎯 Сложность: Продвинутая

⚡ Кратко: 🔖 справочник

Хранимая процедура — сохранённый в базе блок SQL-кода для многократного выполнения.

В MySQL процедура создаётся через CREATE PROCEDURE, тело пишется в BEGIN ... END, а вызывается через CALL.

Параметры могут быть входными IN, выходными OUT и двунаправленными INOUT.

Минимальный пример: CALL add_employee('John Doe', 30); добавляет сотрудника через заранее созданную процедуру.

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

Топ-3 ошибки: забыть DELIMITER, вызвать процедуру как функцию через SELECT, перепутать имя столбца id/employee_id в практической задаче.

🔖 Справочник занятия

Команды и функции ниже взяты из темы урока и оформлены как быстрый справочник.

CREATE PROCEDURE

Создаёт хранимую процедуру.

CREATE PROCEDURE add_employee(IN emp_name VARCHAR(100), IN emp_age INT)

CALL

Вызывает созданную процедуру.

CALL add_employee('John Doe', 30);

IN

Входной параметр: значение передаётся внутрь процедуры.

IN emp_age INT

OUT

Выходной параметр: процедура записывает значение наружу.

OUT is_higher INTEGER

DECLARE

Создаёт локальную переменную внутри процедуры.

DECLARE avg_salary DECIMAL(8,2);

SET

Присваивает значение переменной.

SET avg_salary = (SELECT AVG(salary) FROM employees);

IF ... THEN ... ELSE

Ветвление внутри процедуры.

IF employee_salary > avg_salary THEN
    SET is_higher = 1;
ELSE
    SET is_higher = 0;
END IF;

Полный справочник курса: SQL Reference. MongoDB в этом уроке не является основной темой.