|
|
|
@@transtate vs. @@error check
|
|||
|---|---|---|---|
|
#18+
Я сам T-SQL знаю по MS-SQL. Теперь вот с ASE нужно работаю. Возник вопрос - есть ли разница при использовании @@transtate и @@error? @@transate = 2 означает что последний стэйтмент откачен. А что такое последний? Если есть триггеры на таблице например. Тот же вопрос и о @@error. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2005, 20:05 |
|
||
|
@@transtate vs. @@error check
|
|||
|---|---|---|---|
|
#18+
Разница есть. @@error показывает результат отработки последнего оператора. @@transtate -- транзакции в целом. Насколько я помню, если @@transtate перешел в состояние "ошибка", то только начало новой транзакции его переустановит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 12:03 |
|
||
|
@@transtate vs. @@error check
|
|||
|---|---|---|---|
|
#18+
Так то оно так, но ведь транзакция может быть откачена только rollback. Если поток выполнения на сервере завершился аварийно, то пофиг что там дальше в коде написано, он ведь все равно не выполнится... A @@transtate = 2 может быть выставлен только по рантайм ошибке. Так что все вроде выглядит как эквивалент. Я просто думал, что может еще какие-то побочные эффекты есть. Интересно что происхрдит с этими переменными когда клиентская сессия отваливается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2005, 16:14 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33393455&tid=2013239]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 374ms |

| 0 / 0 |
