TSQL: комбинация запятых, транзакция? - PullRequest
0 голосов
/ 15 марта 2010

Учитывая следующее:

select * from a; 
select * from b;

Эти два оператора выполняются в неявной транзакции?

1 Ответ

4 голосов
/ 15 марта 2010

Режим транзакции по умолчанию в SQL Server: autocommit , если не указано иное. Это означает, что каждый оператор выполняется в своей собственной транзакции; если произойдет сбой, все предыдущие операторы все равно будут успешны.

Вы можете изменить это с помощью оператора BEGIN TRAN (явная транзакция) или SET IMPLICIT_TRANSACTIONS ON (включает неявные транзакции). Обратите внимание, что если вы включаете неявные транзакции, то только BEGIN является неявным - вам все равно нужно явно COMMIT.

Также обычно считается плохой практикой использовать неявные транзакции; это приводит к появлению скриптов с ошибками из-за того, что границы транзакций не видны четко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...