SQL Server sql清空表数据后重新添加数据存储过程入门实例

2022-11-12 09:43:27
内容摘要
这篇文章主要为大家详细介绍了SQL Server sql清空表数据后重新添加数据存储过程入门实例,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!
文章正文

这篇文章主要为大家详细介绍了SQL Server sql清空表数据后重新添加数据存储过程入门实例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

代码如下:


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 intdeclare @doIndex as intdeclare @strValue1 as varchar(100)declare @strValue2 as varchar(100)declare @strText as varchar(100)declare @ReturnValue intset @Run = 1set @ReturnValue=0;while( @Run = 1)beginif(len(@sql)>0) --如果字符串还不为空,则进行一下操作beginset @dotIndex=CharIndex(';',@sql)if(@dotIndex = 0) --判断是否找到了';'符号beginset @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=0end;elsebeginset @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;endendelsebeginset @Run=0set @ReturnValue=@ReturnValue+1;endendCommit Transactionreturn @ReturnValue;end trybegin catchset @ReturnValue=0;Rollback Transactionreturn @ReturnValue;end catchend

注:关于SQL Server sql清空表数据后重新添加数据存储过程入门实例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!