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

📝 Задания

📁 Блок: 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 в практической задаче.

Практическая работа

1

Подготовить таблицу

Создайте таблицу employees и заполните её минимум пятью строками с зарплатами.

2

Создать процедуру оценки зарплаты

Создайте процедуру, которая принимает входной параметр IN employee_id и возвращает через OUT значение 1 или 0.

Если зарплата сотрудника выше средней зарплаты по всем департаментам, вернуть 1; иначе вернуть 0.

3

Вызвать процедуру

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

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

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

Вопрос 1

Что такое хранимая процедура?

Вопрос 2

Как создать процедуру в MySQL?

Вопрос 3

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

Вопрос 4

Что означает параметр IN?

Вопрос 5

Что означает параметр OUT?

Вопрос 6

Для чего нужен DECLARE?

Вопрос 7

Что делает практическая процедура higher_than_avg?