Изменения документа Шаблон транзакции

Редактировал(а) Alexandr Fokin 2023/12/16 14:12

<
От версии < 4.2 >
отредактировано Alexandr Fokin
на 2020/01/24 14:32
К версии < 20.1 >
отредактировано Alexandr Fokin
на 2020/03/23 15:00
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Теги
... ... @@ -1,0 +1,1 @@
1 +sql
Содержимое
... ... @@ -1,22 +1,29 @@
1 +
2 +{{code language="sql"}}
1 1  BEGIN TRY
2 -
3 - // Формируем заказ
4 - // ...
5 - // сформировали заказ
6 -
7 - // Вычитаем купленные товары
8 - update Products
9 - Set Count = Count - 1
10 - Where ID = @ProductID
11 -
4 +
5 + BEGIN TRANSACTION
6 +
7 + --Формируем заказ
8 + --...
9 + --сформировали заказ
10 +
11 + --Вычитаем купленные товары
12 + update Products
13 + Set Count = Count - 1
14 + Where ID = @ProductID
15 +
16 + COMMIT
12 12  END TRY
13 13  BEGIN CATCH
14 14  
15 - IF @@TRANCOUNT > 0
16 - BEGIN
17 - ROLLBACK TRANSACTION;
18 - END;
19 -
20 - THROW
21 -
22 -END CATCH
20 + IF @@TRANCOUNT > 0
21 + BEGIN
22 + ROLLBACK TRANSACTION;
23 + END;
24 +
25 + THROW
26 +
27 +END CATCH
28 +{{/code}}
29 +
XWiki.XWikiComments[0]
Комментарий
... ... @@ -1,1 +1,2 @@
1 1  Если выполняется 1 операция, то транзакция не требуется
2 +Она применяется автоматически. Этим можно управлять, используя with
Дата
... ... @@ -1,1 +1,1 @@
1 -2020-01-24 14:32:39.285
1 +2020-01-24 14:32:39.287
XWiki.XWikiComments[1]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,3 @@
1 +Можно явно указать тип блокировки при выполнении запроса
2 +например для select.
3 +В таком случае блокировка указанного типа будет удерживаться до окончания транзакции.
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-02-29 12:05:47.950