K2 Blackpearl中从数据库直接删除流程实例之K2ServerLog表

转:http://www.cnblogs.com/dannyli/archive/2012/11/29/2794845.html

/************************************************************************************************
**  功能:根据实例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

 

 

 

先展示下效果 https://pan.quark.cn/s/e81b877737c1 Node.js 是一种基于 Chrome V8 引擎的 JavaScript 执行环境,它使开发者能够在服务器端执行 JavaScript 编程,显著促进了全栈开发的应用普及。 在 Node.js 的开发流程中,`node_modules` 文件夹用于存储所有依赖的模块,随着项目的进展,该文件夹可能会变得异常庞大,其中包含了众多可能已不再需要的文件和文件夹,这不仅会消耗大量的硬盘空间,还可能减慢项目的加载时间。 `ModClean 2.0` 正是为了应对这一挑战而设计的工具。 `ModClean` 是一款用于清理 `node_modules` 的软件,其核心功能是移除那些不再被使用的文件和文件夹,从而确保项目的整洁性和运行效率。 `ModClean 2.0` 是此工具的改进版本,在原有功能上增加了更多特性,从而提高了清理工作的效率和精确度。 在 `ModClean 2.0` 中,用户可以设置清理规则,例如排除特定的模块或文件类型,以防止误删重要文件。 该工具通常会保留项目所依赖的核心模块,但会移除测试、文档、示例代码等非运行时必需的部分。 通过这种方式,`ModClean` 能够协助开发者优化项目结构,减少不必要的依赖,加快项目的构建速度。 使用 `ModClean` 的步骤大致如下:1. 需要先安装 `ModClean`,在项目的根目录中执行以下命令: ``` npm install modclean -g ```2. 创建配置文件 `.modcleanrc.json` 或 `.modcleanrc.js`,设定希望清理的规则。 比如,可能需要忽略 `LICENSE` 文件或整个 `docs`...
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值