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

📖 Теория

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

⚡ Кратко: 📖 теория

Практикум закрепляет параметры хранимых процедур на трёх задачах: возраст, зарплата и увеличение зарплаты.

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

Во второй задаче нужен OUT: зарплата возвращается через переменную вызывающего кода.

В третьей задаче нужен INOUT: текущая зарплата входит в процедуру, увеличивается на 10% и возвращается наружу.

Перед проверкой важно создать или выбрать таблицу employees с колонками id, age, salary.

Топ-3 ошибки: пропустить CALL, написать только имя процедуры, забыть SELECT @salary после вызова.

Логика практикума

Источник содержит три задания. Они подобраны так, чтобы по одному разу использовать каждый тип параметра: IN, OUT и INOUT.

ЗадачаТип параметраПочему
Возраст сотрудника по idINid только помогает найти строку.
Зарплата по idIN + OUTid входит, зарплата возвращается через переменную.
Увеличение зарплатыINOUTисходное значение меняется и возвращается.

Базовая таблица

DROP TABLE IF EXISTS employees;
CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    salary INT
);

INSERT INTO employees (id, name, age, salary) VALUES
    (1, 'Anna', 28, 50000),
    (2, 'Ben', 34, 62000),
    (3, 'Cara', 41, 71000);

Если вы работаете в учебной базе, проверьте фактические имена колонок через DESCRIBE employees;.