Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 не очень понятно, как получать @@ROWCOUNT  [new]
Albatross
Member

Откуда:
Сообщений: 1001
select ***

if @@error > 0  goto er

print @@rowcount


С одной стороны, хочется получить @@rowcount, с другой стороны, в случае ошибки хочется перейти на метку er, где происходит rollback всей транзакции.

В данном примере print выводит 0, потому что @@rowcount сбрасывается после
if @@error > 0  goto er

А если их поменять местами, то по ошибке удаления на обработчик ошибок перехода не будет.

TRY использовать не хочется. Что можно сделать?
SQL Server 2012
23 сен 13, 17:03    [14873888]     Ответить | Цитировать Сообщить модератору
 Re: не очень понятно, как получать @@ROWCOUNT  [new]
Гость333
Member

Откуда:
Сообщений: 3683
declare @error int, @rowcount int

select ***

select @error = @@error, @rowcount = @@rowcount

if @error > 0  goto er

print @rowcount
23 сен 13, 17:05    [14873899]     Ответить | Цитировать Сообщить модератору
 Re: не очень понятно, как получать @@ROWCOUNT  [new]
Albatross
Member

Откуда:
Сообщений: 1001
Гость333,

Оу, спасибо, никогда бы не додумался!:)
23 сен 13, 17:07    [14873908]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить