CREATE PROCEDURE
Создаёт хранимую процедуру.
CREATE PROCEDURE add_employee(IN emp_name VARCHAR(100), IN emp_age INT)
Хранимая процедура — сохранённый в базе блок 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 в этом уроке не является основной темой.