Хранимые процедуры и триггеры

Хранимые процедуры (Stored Procedures)

Что это: Хранимая процедура — это предварительно написанный и сохранённый в базе данных SQL-код, который выполняет определённые действия (например, вставку, обновление, выборку данных).

Зачем нужны:

  • Инкапсуляция сложной логики на уровне базы данных.

  • Повторное использование кода.

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

  • Уменьшение передачи большого количества данных между приложением и базой.

Пример:

CREATE PROCEDURE GetUserById(IN userId INT)
BEGIN
    SELECT * FROM Users WHERE id = userId;
END;

Использование:

CALL GetUserById(5);

Триггеры (Triggers)

Что это: Триггер — это специальный объект в базе данных, который автоматически выполняется при определённом событии (INSERT, UPDATE, DELETE) на таблице.

Зачем нужны:

  • Автоматическое выполнение проверок или действий при изменении данных.

  • Поддержка целостности данных.

  • Логирование изменений.

  • Реализация бизнес-правил на уровне базы.

Пример:

CREATE TRIGGER LogUserUpdate
AFTER UPDATE ON Users
FOR EACH ROW
BEGIN
    INSERT INTO UserChanges(userId, changeDate)
    VALUES (OLD.id, NOW());
END;

Итог:

  • Stored Procedure — вызывается явно, выполняет конкретные операции.

  • Trigger — срабатывает автоматически при определённом событии на таблице.

Last updated

Was this helpful?