Встречается на собеседованиях • сегодня
Работал ли с триггерами в БД
Да, работал. Триггеры — это хранимые процедуры, автоматически выполняемые при определенных событиях (INSERT, UPDATE, DELETE) в таблице.
Пример с SQL (PostgreSQL):
sql
CREATE OR REPLACE FUNCTION log_changes()
RETURNS TRIGGER AS $$
BEGIN
IF TG_OP = 'INSERT' THEN
INSERT INTO audit_log (action, table_name, record_id, change_time)
VALUES ('INSERT', TG_TABLE_NAME, NEW.id, NOW());
ELSIF TG_OP = 'UPDATE' THEN
INSERT INTO audit_log (action, table_name, record_id, change_time)
VALUES ('UPDATE', TG_TABLE_NAME, NEW.id, NOW());
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER track_changes
AFTER INSERT OR UPDATE ON users
FOR EACH ROW EXECUTE FUNCTION log_changes();
text
**Нюансы:**
- Триггеры могут усложнить отладку из-за неявного выполнения.
- Влияют на производительность, особенно при частых операциях.
- В ORM (например, Django) их используют редко, предпочитая сигналы или хуки.
Если нужно работать с триггерами в Python, можно использовать библиотеки типа `psycopg2` для выполнения SQL-запросов.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы