Будет ли SQL Server откатывать один оператор после его завершения? - PullRequest
0 голосов
/ 16 сентября 2010

У меня есть оператор с одной командой UPDATE. Если я вручную прерву его, все результаты будут откатаны?

Ответы [ 2 ]

3 голосов
/ 16 сентября 2010

Если вы прервете соединение, по которому было выпущено обновление, или иным образом отмените запрос, обновление будет отменено.Каждый оператор DML в SQL выполняется в контексте транзакции - SQL Server автоматически создаст один, если его не существует, и зафиксирует его после завершения оператора.

3 голосов
/ 16 сентября 2010

Если ошибок не возникает, этот оператор не может быть откатан

Update table
Set MyCol = 'foo'
Where MyOtherCol = 'bar'

Однако, что вы можете сделать в SQL, так это выполнить следующие операторы:проверяет, что вам может понадобиться.Если все в порядке, вы можете выполнить следующее.

commit transaction

, если вам нужно отменить обновление, вы можете запустить это

rollback transaction

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