• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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

    您可能感兴趣的文章:
    • sqlserver数据库使用存储过程和dbmail实现定时发送邮件
    • 使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)
    • sqlserver2005利用临时表和@@RowCount提高分页查询存储过程性能示例分享
    上一篇:在SQL Server中查询资料库的TABLE数量与名称的sql语句
    下一篇:mssql和sqlite中关于if not exists 的写法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    sql清空表数据后重新添加数据存储过程的示例 sql,清空,表,数据,后,重新,