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

📝 Задания

📁 Блок: SQL / MySQL / Повторение ⏱️ Время изучения: ~60 мин 🎯 Сложность: Повторение

⚡ Кратко: 📝 задания

Summary session 12 повторяет хранимые процедуры и параметры IN, OUT, INOUT.

Процедура создаётся через CREATE PROCEDURE, тело помещается в BEGIN ... END, вызывается через CALL.

IN подходит для входных значений, например id сотрудника.

OUT возвращает рассчитанное значение через переменную вызывающего кода.

INOUT получает начальное значение, изменяет его и возвращает обратно.

Итоговое задание — завершить задачи практикума: возраст, зарплата, увеличение зарплаты.

Топ-3 ошибки: забыть DELIMITER, не использовать SELECT ... INTO, перепутать OUT и INOUT.

Итоговое задание из источника

Завершите работу над задачами с практикумов.

1

Возраст сотрудника по id

Выведите возраст сотрудника в зависимости от его id.

2

Зарплата по id

Создайте процедуру get_employee_salary, которая принимает id сотрудника и возвращает зарплату через OUT.

3

Увеличение зарплаты

Создайте процедуру increase_salary, которая принимает текущую зарплату как INOUT и увеличивает её на 10%.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Какой оператор создаёт хранимую процедуру?

Вопрос 2

Как вызывается процедура?

Вопрос 3

Что означает IN?

Вопрос 4

Что означает OUT?

Вопрос 5

Что означает INOUT?

Вопрос 6

Зачем нужен DELIMITER при создании процедуры?

Вопрос 7

Какая команда записывает результат запроса в OUT-параметр?

Вопрос 8

Что нужно сделать после CALL get_employee_salary(1, @salary); для просмотра результата?