2009-11-12 4 views
2

Я имею дело с Sql Server и Oracle через Qt при использовании QSqlDatabase::transaction() при подключении к базе данных. Когда другой пользователь/соединение имеет транзакцию, открытую в той же самой базе данных, делает ли блок вызова transaction() до завершения или завершения другой транзакции?QSqlDatabase :: транзакция и другая открытая транзакция, блокировка или сбой?

ответ

1

Сделки должны блокировать друг друга только в том случае, если они работают с одними и теми же данными (обычно на уровне записи).

Обычно они ожидают завершения транзакций, блокирующих эти записи, и затем они продолжаются. В некоторых случаях они могут быть запрограммированы на ошибку/сбой, если им приходится ждать блокировки.

Смежные вопросы