/************************************************************************************************ ** 功能:根据实例ID,删除[K2ServerLog]中的流程实例数据(物理删除,不可恢复,操作前请备份) ** 作者:Danny,Li [xing.dong.li@163.com] ** 日期:2012-11-28 ** 版本:v121128 ************************************************************************************************ ** 返回值 返回值描述 ** ------ -------------------------------------------------------------- ** ** ************************************************************************************************ ** 修订日期 修订作者 修订描述 ** ---------- -------- ----------------------------------------------- ** ** ************************************************************************************************/ USE [K2ServerLog] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[uSP_DeleteK2ServerLogProcInst] @procInstID INT -- Process Instance ID AS SET NOCOUNT ON BEGIN PRINT 'Delete process instance from K2ServerLog for ID = '+ CAST(@procInstID AS VARCHAR(50)) +' starting' DECLARE @iError INT SELECT @iError = @@Error BEGIN TRANSACTION IF @iError = 0 BEGIN PRINT 'Removing process instance from _ActInst' DELETE _ActInst WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ActInst' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ActInstAudit' DELETE _ActInstAudit WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ActInstAudit' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ActInstDest' DELETE _ActInstDest WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ActInstDest' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ActInstDestData' DELETE _ActInstDestData WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ActInstDestData' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ActInstDestDataAudit' DELETE _ActInstDestDataAudit WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ActInstDestDataAudit' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ActInstDestXml' DELETE _ActInstDestXml WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ActInstDestXml' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ActInstDestXmlAudit' DELETE _ActInstDestXmlAudit WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ActInstDestXmlAudit' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _EscInst' DELETE _EscInst WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _EscInst' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _EventInst' DELETE _EventInst WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _EventInst' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _IPC' DELETE _IPC WHERE SrcProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _IPC' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _LogBatch' DELETE _LogBatch WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _LogBatch' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _LineInst' DELETE _LineInst WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _LineInst' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ProcInst' DELETE _ProcInst WHERE ID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ProcInst' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ProcInstAudit' DELETE _ProcInstAudit WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ProcInstAudit' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ProcInstData' DELETE _ProcInstData WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ProcInstData' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ProcInstDataAudit' DELETE _ProcInstDataAudit WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ProcInstDataAudit' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ProcInstXml' DELETE _ProcInstXml WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ActInst' SELECT @iError = @@ERROR END IF @iError = 0 BEGIN PRINT 'Removing process instance from _ProcInstXmlAudit' DELETE _ProcInstXmlAudit WHERE ProcInstID = @procInstID PRINT CAST(@@ROWCOUNT AS VARCHAR(10)) + ' records removed from _ProcInstXmlAudit' SELECT @iError = @@ERROR END IF @iError <> 0 BEGIN ROLLBACK TRANSACTION PRINT 'Delete process instance from K2ServerLog for ID = '+ CAST(@procInstID AS VARCHAR(50)) +' rollback' END ELSE BEGIN COMMIT TRANSACTION PRINT 'Delete process instance from K2ServerLog for ID = '+ CAST(@procInstID AS VARCHAR(50)) +' commit' END END