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

Откуда:
Сообщений: 48
Подскажите как можно изменить стандартное сообщение при rollback?
Пользуюсь MS SQL Server 2008 r2, поэтому RAISEERROR не предлагать.

Заранее спасибо.
5 дек 16, 17:43    [19969331]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Gric_Art,

а какое "стандартное сообщение при rollback"
5 дек 16, 17:43    [19969337]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
автор
Пользуюсь MS SQL Server 2008 r2, поэтому RAISEERROR не предлагать.

личное отвращение?
5 дек 16, 17:47    [19969352]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
Gric_Art
Member

Откуда:
Сообщений: 48
TaPaK,

личное отвращение?

Да нет. Данная команда в ssms даже не подсвечивается, да и прогуглил сейчас. Она появилась как я понял в 2008 сервере, а мне необходима ещё совместимость с 2005 версией. В общем не подходит.

Стандартное сообщение:

автор
Message: The transaction ended in the trigger. The batch has been aborted.
5 дек 16, 17:52    [19969379]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
Это не стандартное сообщение при rollback, а сообщение о rollback в триггере.
Какие угожно сообщения клиенту можно посылать через raiserror.
5 дек 16, 17:54    [19969387]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Gric_Art,

автор
Да нет. Данная команда в ssms даже не подсвечивается, да и прогуглил сейчас. Она появилась как я понял в 2008 сервере, а мне необходима ещё совместимость с 2005 версией. В общем не подходит.

бред, работает и на 2000

автор
Message: The transaction ended in the trigger. The batch has been aborted.

обрабатывайте откат с сообщением в триггере который это сообщает
5 дек 16, 17:56    [19969394]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8584
Gric_Art,

дык не откатывайте в триггере, это не модно. В триггере выбрасывайте ошибку THROW.
Ловите ее в процедуре и откатывайте транзакцию если была явная, либо она откатится автоматически, если это автотранзакция.
5 дек 16, 18:35    [19969560]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Владислав Колосов,

а вот со THROW точно не сложится у него
5 дек 16, 18:38    [19969570]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
Gric_Art
Member

Откуда:
Сообщений: 48
Владислав Колосов,

Так не "модно" чем?
Ведь чем проще, тем лучше. Вы же говорите про связку действий.
Может я что-то не понимаю, но логически если подумать, то ROLLBACK лучше ... или нет?
5 дек 16, 18:38    [19969571]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31868
Gric_Art
Она появилась как я понял в 2008 сервере
Она была и в версии 6.0 (а скорее всего, и раньше).
5 дек 16, 18:38    [19969572]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8584
Gric_Art,

не модно тем, что MS грозились прибить возможность. Т.е. то, что Вы ловите системную ошибку вместо пользовательской и получаете неконтролируемое выполнение (почитайте, как это работает) - не смущает? :)
5 дек 16, 18:41    [19969580]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8584
TaPaK
Владислав Колосов,

а вот со THROW точно не сложится у него


Разве не с 2008r1 появилась? Подзабыл уже.
5 дек 16, 18:43    [19969587]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Владислав Колосов
TaPaK
Владислав Колосов,

а вот со THROW точно не сложится у него


Разве не с 2008r1 появилась? Подзабыл уже.

SQL Server (starting with 2012)
5 дек 16, 18:44    [19969591]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
Gric_Art
Member

Откуда:
Сообщений: 48
alexeyvg,

Да, разобрался.
Действительно был неправ. Всё работает..
5 дек 16, 18:46    [19969599]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
Gric_Art
Member

Откуда:
Сообщений: 48
TaPaK,

Я вот тоже это прочитал и был убеждён что нету.

В MS SQL 2008 R2 по крайней мере у меня отработало.
5 дек 16, 18:47    [19969602]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Gric_Art
TaPaK,

Я вот тоже это прочитал и был убеждён что нету.

В MS SQL 2008 R2 по крайней мере у меня отработало.

а теперь SELECT @@VERSION там где у вас сработало THROW
5 дек 16, 18:51    [19969614]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
Gric_Art
Member

Откуда:
Сообщений: 48
TaPaK,

Нет, я про RAISEERROR
5 дек 16, 18:53    [19969623]     Ответить | Цитировать Сообщить модератору
 Re: Своё сообщение при rollback  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Gric_Art
Владислав Колосов,

Так не "модно" чем?
Ведь чем проще, тем лучше. Вы же говорите про связку действий.
Может я что-то не понимаю, но логически если подумать, то ROLLBACK лучше ... или нет?

судя по сообщению sql офигел от того что он открыл транзакцию зашёл в триггер, вышел, а транзакции уже нет... это нифига не модно
5 дек 16, 18:56    [19969632]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить