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

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

<
От версии < 5.1 >
отредактировано Alexandr Fokin
на 2020/01/24 14:33
К версии < 20.2 >
отредактировано Alexandr Fokin
на 2020/07/18 14:03
>
Изменить комментарий: Добавлен тег [SqlQuery]

Комментарий

Подробности

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