📖 Теория
⚡ Кратко: 📖 теория
Summary session 12 повторяет хранимые процедуры и параметры IN, OUT, INOUT.
Процедура создаётся через CREATE PROCEDURE, тело помещается в BEGIN ... END, вызывается через CALL.
IN подходит для входных значений, например id сотрудника.
OUT возвращает рассчитанное значение через переменную вызывающего кода.
INOUT получает начальное значение, изменяет его и возвращает обратно.
Итоговое задание — завершить задачи практикума: возраст, зарплата, увеличение зарплаты.
Топ-3 ошибки: забыть DELIMITER, не использовать SELECT ... INTO, перепутать OUT и INOUT.
Что повторяется
Источник Summary session 12 собирает темы двух предыдущих занятий: создание хранимых процедур, вызов процедур и три типа параметров.
Шпаргалка по синтаксису
DELIMITER $$
CREATE PROCEDURE procedure_name([parameters])
BEGIN
-- тело процедуры
END $$
DELIMITER ;
CALL procedure_name(arguments);
DELIMITERнужен для корректного ввода тела процедуры в MySQL-клиенте.[parameters]может содержатьIN,OUT,INOUT.CALLзапускает процедуру после создания.
Главное сравнение
| Тип | Сценарий | Пример |
|---|---|---|
IN | найти строку по id | get_employee_age(IN emp_id INT) |
OUT | вернуть значение наружу | get_employee_salary(IN emp_id INT, OUT emp_salary INT) |
INOUT | изменить переданное значение | increase_salary(INOUT emp_salary INT) |