Вопрос проверяет понимание механизма срабатывания триггеров на событие INSERT в SQL.
Триггер на INSERT — это специальная хранимая процедура в базе данных, которая автоматически запускается при добавлении новой записи в таблицу. Он позволяет выполнять дополнительные действия, такие как проверка данных, обновление связанных таблиц или ведение журнала изменений, без необходимости изменять код приложения.
Триггер может срабатывать до (BEFORE) или после (AFTER) выполнения операции INSERT. В большинстве СУБД (например, PostgreSQL, MySQL) триггеры поддерживают доступ к новой строке через специальные псевдонимы (NEW). Это позволяет читать или изменять вставляемые данные до их фиксации.
CREATE TRIGGER log_insert
AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO audit_log(user_id, action, timestamp)
VALUES (NEW.id, 'INSERT', NOW());
END;В этом примере после вставки строки в таблицу users триггер автоматически добавляет запись в таблицу audit_log с идентификатором нового пользователя, действием и временем.
Вывод: триггеры на INSERT полезны для автоматизации задач, связанных с добавлением данных, и помогают поддерживать целостность базы данных без вмешательства в прикладной код.