Хранимые процедуры и триггеры
Хранимые процедуры (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?