zoukankan      html  css  js  c++  java
  • sql server try catch tran

     1 -- move approver tasks to PushTaskLog
     2 
     3 DECLARE @approverID NVARCHAR(100) = ''
     4 DECLARE @remark NVARCHAR(100) = CONVERT(NVARCHAR(19), GETDATE(), 120)
     5 DECLARE @applicationID NVARCHAR(100) = ''
     6 DECLARE @extensionID NVARCHAR(100) = ''
     7 
     8 BEGIN TRY
     9     IF OBJECT_ID('tempdb..#tmpTask') IS NOT NULL
    10         DROP TABLE #tmpTask
    11 
    12     SELECT *
    13     INTO #tmpTask
    14     FROM dbo.Task
    15     WHERE ApproverID = @approverID
    16           AND ApplicationID = @applicationID
    17           AND ExtensionID = @extensionID
    18 
    19     BEGIN TRAN
    20     INSERT dbo.PushTaskLog
    21     (
    22         ID,
    23         ApplicationID,
    24         ExtensionID,
    25         TaskID,
    26         Approver,
    27         Requestor,
    28         Title,
    29         SubmittedDate,
    30         ApproverLevel,
    31         XmlBody,
    32         CreatedDate,
    33         TaskStatus,
    34         LogStatus
    35     )
    36     SELECT NEWID(),
    37            ApplicationID,
    38            ExtensionID,
    39            TaskID,
    40            ApproverID,
    41            ApplicantName,
    42            Title,
    43            SubmittedDate,
    44            ApproverLevel,
    45            NativeApplicationData,
    46            CreatedDate,
    47            @remark,
    48            -1
    49     FROM #tmpTask
    50 
    51     DELETE main
    52     FROM dbo.Task main
    53         INNER JOIN #tmpTask tmp
    54             ON tmp.ID = main.ID
    55     COMMIT TRAN
    56 
    57     DROP TABLE #tmpTask
    58 END TRY
    59 BEGIN CATCH
    60     PRINT ERROR_MESSAGE()
    61     IF @@TRANCOUNT > 0
    62     BEGIN
    63         ROLLBACK TRAN
    64     END
    65 
    66 END CATCH
  • 相关阅读:
    CCDictionary 用调试器查看问题
    博客 小记
    cocos2d-x 调试问题
    string知识
    静动态库
    fedora 20安装vim Transaction check error
    PyQt中ui编译成窗体.py,中文乱码
    centos编译安装vim7.4
    linux c驴杂记
    c++指针 c指针 改变值
  • 原文地址:https://www.cnblogs.com/lizhanglong/p/9051003.html
Copyright © 2011-2022 走看看