Назад к вопросам
Avito
Junior — Middle
79
Какие сценарии применения триггеров в системах управления базами данных?
Компании, где спрашивали
Zonatelecom
Ответ от нейросети
sobes.tech AI
Триггеры в СУБД — это специальные процедуры, которые автоматически выполняются при определённых событиях (вставка, обновление, удаление данных). Основные сценарии применения:
- Автоматическая проверка и поддержание целостности данных. Например, при удалении записи в одной таблице автоматически удалять связанные записи в другой.
- Логирование изменений. Запись истории изменений данных для аудита.
- Вычисление и обновление производных значений. Например, обновление поля с суммой или статусом при изменении связанных данных.
- Ограничение доступа и валидация. Проверка условий перед изменением данных.
Пример триггера на PostgreSQL, который логирует изменения в таблице пользователей:
CREATE TRIGGER log_user_update
AFTER UPDATE ON users
FOR EACH ROW
EXECUTE FUNCTION log_update();
CREATE FUNCTION log_update() RETURNS trigger AS $$
BEGIN
INSERT INTO user_changes(user_id, changed_at) VALUES (NEW.id, now());
RETURN NEW;
END;
$$ LANGUAGE plpgsql;