CREATE PROCEDURE
Создаёт хранимую процедуру.
CREATE PROCEDURE add_employee(IN emp_name VARCHAR(100), IN emp_age INT)Summary session 12 повторяет хранимые процедуры и параметры IN, OUT, INOUT.
Процедура создаётся через CREATE PROCEDURE, тело помещается в BEGIN ... END, вызывается через CALL.
IN подходит для входных значений, например id сотрудника.
OUT возвращает рассчитанное значение через переменную вызывающего кода.
INOUT получает начальное значение, изменяет его и возвращает обратно.
Итоговое задание — завершить задачи практикума: возраст, зарплата, увеличение зарплаты.
Топ-3 ошибки: забыть DELIMITER, не использовать SELECT ... INTO, перепутать OUT и INOUT.
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_id INTOUTВыходной параметр.
OUT emp_salary INTINOUTВходной и выходной параметр одновременно.
INOUT emp_salary INTSELECT ... INTOЗаписывает результат запроса в параметр или переменную.
SELECT salary INTO emp_salary FROM employees WHERE id = emp_id;