Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.30;
Скачать: CL | DM;

Вниз

MsSql2000+транзакции   Найти похожие ветки 

 
em240 ©   (2007-11-27 10:14) [0]

Есть хранимая процедура, которая включает в себя 3 update.
Если я явно не задаю начало и конец транзакции, то при запуске процедуры они происходят к контексте одной транзакции или 3-х?


 
ЮЮ ©   (2007-11-27 10:18) [1]

Одной, естественно.
З.Ы. ИМХО, на всякий случай :)


 
DrPass ©   (2007-11-27 10:19) [2]


> Одной, естественно.

Трех, естественно. В MS SQL хранимые процедуры работают не в контексте транзакций. И для каждого update будет неявно создаваться своя транзакция и после выполнения автоматически будет делаться коммит


 
Skyle ©   (2007-11-27 10:20) [3]

Хранимая процедура суть транзакция.


 
ЮЮ ©   (2007-11-27 10:24) [4]

> И для каждого update будет неявно создаваться своя транзакция
> и после выполнения автоматически будет делаться коммит


На таком MS SQL я бы не стал рабртвть.
Слабу богу он ведет себя не так.


 
em240 ©   (2007-11-27 10:26) [5]

Версия  2000.


 
Skyle ©   (2007-11-27 10:28) [6]

Надо посмотреть на значение IMPLICIT_TRANSACTIONS, может и будет вести.


 
DrPass ©   (2007-11-27 10:30) [7]


> Слабу богу он ведет себя не так.

См.
> Skyle ©   (27.11.07 10:28) [6]


По умолчанию так и ведет :)


 
em240 ©   (2007-11-27 10:30) [8]

Можно подробнее или ссылку? а то я запутался. :)


 
ЮЮ ©   (2007-11-27 10:38) [9]

> Надо посмотреть на значение IMPLICIT_TRANSACTIONS, может
> и будет вести.

Посмотрел. Действительно.

If the connection is already in an open transaction, the statements do not start a new transaction.

БДЕ-компоненты, помню, сами стартовали транзакцию. Как АДО - не уточнял, ибо в своем "ядре" все запросы выволняются в рамках чвно открытой транзакции.

Поэтому всегда работал в режиме If the connection is already in an open transaction


 
em240 ©   (2007-11-27 10:39) [10]

Так  кто прав? :)


 
Сусл ©   (2007-11-27 10:42) [11]


>  [10] em240 ©   (27.11.07 10:39)
> Так  кто прав? :)

ты, ибо лучшей доки, чем BOL (дока штатная от  mssql) просто не видел.


 
DiamondShark ©   (2007-11-27 12:53) [12]


> БДЕ-компоненты, помню, сами стартовали транзакцию

БиДЕ-компоненты вообще должны сдохнуть. Слишком они инициативные.


 
em240 ©   (2007-11-27 14:02) [13]

Если я явно не задаю начало и конец транзакции, то при запуске процедуры они происходят к контексте одной транзакции или 3-х?

т.е. если если какой то update
не отработает а другие отработаю то будет соммит?


 
Skyle ©   (2007-11-28 06:18) [14]

Практика - критерий истины.


 
Bless ©   (2007-11-28 09:10) [15]


> em240 ©   (27.11.07 14:02) [13]
>
> Если я явно не задаю начало и конец транзакции, то при запуске
> процедуры они происходят к контексте одной транзакции или
> 3-х?


Три update-а, обернутых в хранимку, ничем в плане транзакций не отличаются от просто трех update-ов.


 
Weter   (2007-11-28 13:05) [16]

т.е. если если какой то update
не отработает а другие отработаю то будет соммит?


Как правило по умолчанию так. В MS SQL 2000 несколько методов определения, а именно: автоматический, явный и подразумеваемый. Хотя реально два автоматический и неявный(подразумеваемый), явный можно рассматривать как надстройку на ними. Так вот по умолчанию используется автоматический режим, где каждая команда рассматриваться как отдельная транзакция. А вот при неявном режиме пока текущая тразакция не закоммитчена, то новая не начнется и если после каждого оператора явно не заканчивать транзакцию то все три update, в данном случае будут выполнтся в рамках одной транзакции. Команда переключения режима, как уже было сказано выше
SET  IMPLICIT_TRANSACTIONS [ON|OFF]



Страницы: 1 вся ветка

Текущий архив: 2007.12.30;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
2-1196421856
Yury_FK
2007-11-30 14:24
2007.12.30
aProcessEntry32 Глюченный???


2-1197003662
DelphiN!
2007-12-07 08:01
2007.12.30
Размер отылаемого за раз пакета данных через TCustomWinSocket


15-1196430171
alll_23
2007-11-30 16:42
2007.12.30
Способ задания алгоритма


11-1181762529
=BuckLr=
2007-06-13 23:22
2007.12.30
RE_FmtUnderlineStyle


2-1196692582
..::KraN::..
2007-12-03 17:36
2007.12.30
TImage на рабочий стол