主頁 > 知識庫 > sql清空表數(shù)據(jù)后重新添加數(shù)據(jù)存儲過程的示例

sql清空表數(shù)據(jù)后重新添加數(shù)據(jù)存儲過程的示例

熱門標(biāo)簽:安陽天音防封電銷卡 智能語音車載電話機(jī)器人 智能外呼系統(tǒng)需要多少錢 衛(wèi)星地圖標(biāo)注距離 競圣地圖標(biāo)注服務(wù) 貴州外呼回?fù)芟到y(tǒng)是什么 云南全自動外呼系統(tǒng)公司 外呼系統(tǒng)的話術(shù) 陽光創(chuàng)信ai外呼獲客系統(tǒng)助力

復(fù)制代碼 代碼如下:

ALTER PROCEDURE [dbo].[sp_add_Jurisdiction]
@CTableName varchar(20), --當(dāng)前要?jiǎng)h除、新增的表
@filedkeyValue varchar(20), --要?jiǎng)h除的字段值
@filedName varchar(20), --要?jiǎng)h除的字段名
@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 --繼續(xù)循環(huán)的標(biāo)志
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) --如果字符串還不為空,則進(jìn)行一下操作
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)) --把字符串的長度縮短至后一個(gè)
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數(shù)據(jù)庫使用存儲過程和dbmail實(shí)現(xiàn)定時(shí)發(fā)送郵件
  • 使用sqlserver存儲過程sp_send_dbmail發(fā)送郵件配置方法(圖文)
  • sqlserver2005利用臨時(shí)表和@@RowCount提高分頁查詢存儲過程性能示例分享

標(biāo)簽:寧夏 周口 預(yù)約服務(wù) 鄂爾多斯 湘潭 欽州 河源 營口

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sql清空表數(shù)據(jù)后重新添加數(shù)據(jù)存儲過程的示例》,本文關(guān)鍵詞  sql,清空,表,數(shù)據(jù),后,重新,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sql清空表數(shù)據(jù)后重新添加數(shù)據(jù)存儲過程的示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于sql清空表數(shù)據(jù)后重新添加數(shù)據(jù)存儲過程的示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章