网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 sql清空表数据后重新添加数据存储过程的示例
范文
    代码如下:
    ALTER PROCEDURE [dbo].[sp_add_Jurisdiction]
    @CTableName varchar(20), --当前要删除、新增的表
    @filedkeyValue varchar(20), --要删除的字段值
    @filedName varchar(20), --要删除的字段名
    @filedNameAdd1 varchar(20), --要新增的字段名1
    @filedNameAdd2 varchar(20), --要新增的字段名2
    @sql varchar(6000) --新增值字符串,如:25,30;25,31
    AS
    begin
    declare @strSQL_1 varchar(6000) -- 删除
    declare @strSQL_2 varchar(6000) -- 新增
    BEGIN try
    BEGIN TRANSACTION
    set @strSQL_1 = 'delete from ['+@CTableName+'] where '+@filedName+' = '+@filedkeyValue+''
    exec(@strSQL_1)
    DECLARE @Run bit --继续循环的标志
    declare @dotIndex as int
    declare @doIndex as int
    declare @strValue1 as varchar(100)
    declare @strValue2 as varchar(100)
    declare @strText as varchar(100)
    declare @ReturnValue int
    set @Run = 1
    set @ReturnValue=0;
    while( @Run = 1)
    begin
    if(len(@sql)>0) --如果字符串还不为空,则进行一下操作
    begin
    set @dotIndex=CharIndex(';',@sql)
    if(@dotIndex = 0) --判断是否找到了';'符号
    begin
    set @doIndex=CharIndex(',',@sql)
    set @strValue1 = substring(@sql,1,@doIndex-1)
    set @strValue2 = substring(@sql,@doIndex+1,LEN(@sql))
    set @strSQL_2 = 'insert into ['+@CTableName+'] ('+@filedName+','+@filedNameAdd1+','+@filedNameAdd2+') values ('+@filedkeyValue+','+@strValue1+','+@strValue2+')'
    exec(@strSQL_2);
    set @ReturnValue=@ReturnValue+1;
    set @Run=0
    end;
    else
    begin
    set @strText = substring(@sql,1,@dotIndex-1) --截取','前的字符串
    set @sql=substring(@sql,@dotIndex+1,len(@sql)) --把字符串的长度缩短至后一个
    set @doIndex=CharIndex(',',@strText)
    set @strValue1 = substring(@strText,1,@doIndex-1)
    set @strValue2 = substring(@strText,@doIndex+1,LEN(@strText))
    set @strSQL_2 = 'insert into ['+@CTableName+'] ('+@filedName+','+@filedNameAdd1+','+@filedNameAdd2+') values ('+@filedkeyValue+','+@strValue1+','+@strValue2+')'
    exec(@strSQL_2)
    set @ReturnValue=@ReturnValue+1;
    end
    end
    else
    begin
    set @Run=0
    set @ReturnValue=@ReturnValue+1;
    end
    end
    Commit Transaction
    return @ReturnValue;
    end try
    begin catch
    set @ReturnValue=0;
    Rollback Transaction
    return @ReturnValue;
    end catch
    end
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/18 9:52:45