#1393063
#1393063: Ниже представлен код, в котором используется управление транзакциями для добавления нового проекта и задач в базу данных. import sqlite3 def demo_transactions(db_name): connection = sqlite3.connect(db_name) cursor = connection.cursor() try: cursor.execute(''' INSERT INTO projects (name, description, deadline) VALUES ('Project Y', 'Описание проекта Y', '2024-11-01') ''') cursor.execute(''' INSERT INTO tasks (priority, description, status, deadline, completed, project) VALUES (1, 'Задача 1 для Project Y', 'pending', '2024-10-15', NULL, 'Project Y'), (2, 'Задача 2 для Project Y', 'in progress', '2024-10-30', NULL, 'Project Y') ''') raise sqlite3.Error("Искусственная ошибка для демонстрации rollback.") connection.commit() print("Изменения сохранены в базе данных.") except sqlite3.Error as e: # В случае ошибки откат всех изменений print(f"Ошибка: {e}. Откат изменений...") connection.rollback() finally: connection.close() if __name__ == "__main__": demo_transactions('projects_and_tasks.db') Что произойдет, если возникает ошибка при выполнении транзакции?
Ниже представлен код, в котором используется управление транзакциями для добавления нового проекта и задач в базу данных. import sqlite3 def demo_transactions(db_name): connection = sqlite3.connect(db_name) cursor = connection.cursor() try: cursor.execute(''' INSERT INTO projects (name, description, deadline) VALUES ('Project Y', 'Описание проекта Y', '2024-11-01') ''') cursor.execute(''' INSERT INTO tasks (priority, description, status, deadline, completed, project) VALUES (1, 'Задача 1 для Project Y', 'pending', '2024-10-15', NULL, 'Project Y'), (2, 'Задача 2 для Project Y', 'in progress', '2024-10-30', NULL, 'Project Y') ''') raise sqlite3.Error("Искусственная ошибка для демонстрации rollback.") connection.commit() print("Изменения сохранены в базе данных.") except sqlite3.Error as e: # В случае ошибки откат всех изменений print(f"Ошибка: {e}. Откат изменений...") connection.rollback() finally: connection.close() if __name__ == "__main__": demo_transactions('projects_and_tasks.db') Что произойдет, если возникает ошибка при выполнении транзакции?
Варианты ответа:
- Код выполнит откат всех изменений, если возникает ошибка при вставке данных или искусственная ошибка.
- Код завершится с ошибкой, но изменения будут сохранены в базе данных, даже если возникнет ошибка.
- Код не выполнит откат изменений, даже если возникает ошибка, и данные будут сохранены.
- Искусственная ошибка в коде не вызовет откат изменений, и транзакция будет завершена успешно.
🔒 Ответ будет доступен после оплаты
Курс направлен на изучение ключевых принципов и методов анализа данных, включая сбор, обработку и визуализацию информации. Слушатели освоят современные инструменты для работы с большими массивами данных, научатся применять статистические методы и алгоритмы машинного обучения. Особое внимание уделяется практическим заданиям, позволяющим закрепить навыки на реальных примерах. Программа подходит для начинающих специалистов и тех, кто хочет углубить свои знания в области аналитики.
Курс направлен на изучение ключевых принципов и методов анализа данных, включая сбор, обработку и визуализацию информации. Слушатели освоят современные инструменты для работы с большими массивами данных, научатся применять статистические методы и алгоритмы машинного обучения. Особое внимание уделяется практическим заданиям, позволяющим закрепить навыки на реальных примерах. Программа подходит для начинающих специалистов и тех, кто хочет углубить свои знания в области аналитики.