Встречается на собеседованиях • сегодня

Создавал ли триггеры в SQL

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

Пример создания триггера в PostgreSQL, который логирует изменения в таблице users:

sql
CREATE OR REPLACE FUNCTION log_user_changes()
RETURNS TRIGGER AS $$
BEGIN
    IF (TG_OP = 'DELETE') THEN
        INSERT INTO user_audit(user_id, action, change_time)
        VALUES (OLD.id, 'DELETE', NOW());
    ELSIF (TG_OP = 'UPDATE') THEN
        INSERT INTO user_audit(user_id, action, change_time)
        VALUES (NEW.id, 'UPDATE', NOW());
    ELSIF (TG_OP = 'INSERT') THEN
        INSERT INTO user_audit(user_id, action, change_time)
        VALUES (NEW.id, 'INSERT', NOW());
    END IF;
    RETURN NEW;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER user_changes_trigger
AFTER INSERT OR UPDATE OR DELETE ON users
FOR EACH ROW EXECUTE FUNCTION log_user_changes();

text

Триггеры полезны для аудита, валидации данных или поддержания целостности БД. Однако их избыточное использование может усложнить отладку и снизить производительность.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы