SELECT @@TRANCOUNT
BEGIN TRAN T1
SELECT @@TRANCOUNT
BEGIN TRAN T2
SELECT @@TRANCOUNT
ROLLBACK TRAN T2
SELECT @@TRANCOUNT
ROLLBACK TRAN T1
SELECT @@TRANCOUNT
Я хочу обсудить на @@ trancount на мгновение. Есть пять @@ trancount. Первый имеет значение 0. Второй имеет значение 1. третий имеет значение 2. до четвертого транскона, он сталкивается с ошибкой (поскольку контрольная точка сохранения для отката отсутствует), поэтому значение 2 будет продолжено. До этого я получаю логику. Проблема возникает при последнем @@ trancount, так как она также должна сталкиваться с ошибкой (согласно моим половинным знаниям), поскольку нет точки сохранения для отката и, следовательно, она должна сохранять значение 2. Но вместо этого он показывает результат как 0. Пожалуйста, помогите мне узнать, почему последний trancount равен 0, а не 2.Счет транзакции SQL Server
Найдите минутку, чтобы прочитать [редактирование справки] (http://stackoverflow.com/editing-help) в справочном центре. Форматирование переполнения стека отличается от других сайтов. Чем лучше выглядит ваш пост, тем проще будет пользователям помочь вам. –
Ваш скрипт терпит неудачу, ROLLBACK TRAN имя транзакции должно ссылаться на самое внешнее имя транзакции, иначе оно не удастся. – Jaco