Исходный код вики Шаблон транзакции

Версия 19.2 от Alexandr Fokin на 2020/01/24 14:54

Скрыть последних авторов
Alexandr Fokin 5.1 1
Alexandr Fokin 12.1 2 {{code language="sql"}}
Alexandr Fokin 7.1 3
Alexandr Fokin 1.1 4 BEGIN TRY
Alexandr Fokin 7.1 5
6 BEGIN TRANSACTION
Alexandr Fokin 15.1 7
Alexandr Fokin 16.1 8 --Формируем заказ
9 --...
10 --сформировали заказ
Alexandr Fokin 8.1 11
Alexandr Fokin 17.1 12 --Вычитаем купленные товары
13 update Products
14 Set Count = Count - 1
15 Where ID = @ProductID
Alexandr Fokin 19.1 16
Alexandr Fokin 7.1 17 COMMIT
Alexandr Fokin 1.1 18 END TRY
19 BEGIN CATCH
20
Alexandr Fokin 7.1 21 IF @@TRANCOUNT > 0
Alexandr Fokin 18.1 22 BEGIN
Alexandr Fokin 7.1 23 ROLLBACK TRANSACTION;
Alexandr Fokin 18.1 24 END;
Alexandr Fokin 13.1 25
26 THROW
Alexandr Fokin 5.1 27
Alexandr Fokin 1.1 28 END CATCH
Alexandr Fokin 13.1 29
30 {{/code}}
Alexandr Fokin 6.1 31