zoukankan      html  css  js  c++  java
  • 清理数据库事务——SQL语句

    清除流程内部的所有相关数据

    eg1:

    declare @procedureTemp table
    (
    [ProcedureCode] varchar(10)
    )
    declare @ProcedureCode varchar(10)

    INSERT into @procedureTemp SELECT ProcedureCode FROM WorkFlowProcedure

    WHILE EXISTS(select [ProcedureCode] from @procedureTemp)
    begin
    --SET ROWCOUNT 1 --等同TOP(1)
    select top(1)@ProcedureCode=[ProcedureCode] from @procedureTemp

    declare @caseTemp table
    (
    [caseCode] varchar(10)
    )
    declare @caseCode varchar(10)

    INSERT into @caseTemp SELECT CaseCode FROM WorkFlowCase WHERE ProcedureCode = @ProcedureCode

    WHILE EXISTS(select [caseCode] from @caseTemp)
    begin
    --SET ROWCOUNT 1 --等同TOP(1) ;最关键是不能使用'ROWCOUNT '在循环嵌套里面
    select top(1) @caseCode=[caseCode] from @caseTemp

    --删除,Add here
    --DECLARE @applicationCode VARCHAR(50)

    --SELECT @procedureCode=ProcedureCode FROM WorkFlowProcedure

    --PRINT @procedureCode

    --set @applicationCode = '20140613100462001'

    --SELECT @caseCode=CaseCode FROM WorkFlowCase WHERE ProcedureCode=@procedureCode AND ApplicationCode = @applicationCode

    PRINT @caseCode + ' ' + @ProcedureCode

    DELETE FROM [WorkFlowOpinion] WHERE ([CaseCode]=@caseCode)
    DELETE FROM [WorkFlowCaseProperty] WHERE ([WorkFlowCaseCode]=@caseCode)
    DELETE FROM [WorkFlowAct] WHERE ([CaseCode]=@caseCode)
    DELETE FROM [WorkFlowActUser] WHERE ([CaseCode]=@caseCode)
    DELETE FROM [WorkFlowCase] WHERE ([CaseCode]=@caseCode)

    --SET ROWCOUNT 0
    delete from @caseTemp where [caseCode] = @caseCode

    end


    --SET ROWCOUNT 0
    delete from @procedureTemp where [ProcedureCode] = @ProcedureCode

    --print 'Name:----'+@ProcedureCode
    end

  • 相关阅读:
    webpack 知识点
    freemarker知识点
    js知识点
    oracle 安装介绍
    CentOS 7.4x64 系统安装完成后配置
    centos 7 互信【ssh】
    spark与mapreduce的最大区别和spark原理
    最简单的搭建SpringBoot框架步骤
    simplify(s)
    ezplot函数
  • 原文地址:https://www.cnblogs.com/guanshan/p/guan111.html
Copyright © 2011-2022 走看看