首頁 > 資料庫 > mysql教程 > sql 存储过程批量删除数据的语句

sql 存储过程批量删除数据的语句

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 18:07:45
原創
1594 人瀏覽過

sql 存储过程批量删除数据的语句,需要的朋友可以参考下

代码如下:
Create PROCEDURE Batch_Delete
@TableName nvarchar(100), --表名
@FieldName nvarchar(100), --删除字段名
@DelCharIndexID nvarchar(1000)
as
DECLARE @PointerPrev int
DECLARE @PointerCurr int
DECLARE @TId NVARCHAR(50), @sql NVARCHAR(1000)

Set @PointerPrev = 1
while (@PointerPrev Begin
Set @PointerCurr = CharIndex(',',@DelCharIndexID,@PointerPrev)
if(@PointerCurr>0)
Begin
SET @TId = cast(SUBSTRING(@DelCharIndexID, @PointerPrev, @PointerCurr - @PointerPrev) As NVARCHAR(50))
SET @sql = 'Delete From '+ @TableName +' Where '+ @FieldName + ' = '''+ @TID+''''
Exec(@Sql)
Print('======='+@TId+'=======sql'+@Sql)
SET @PointerPrev = @PointerCurr + 1
Print(@PointerPrev)
End
else
Begin
Print('break')
Break
End
End
--删除最后一个,因为最后一个后面没有逗号,所以在循环中跳出,需另外再删除
SET @TId = cast(SUBSTRING(@DelCharIndexID, @PointerPrev, LEN(@DelCharIndexID) - @PointerPrev + 1) As NVARCHAR(50))
SET @sql = 'Delete From '+ @TableName +' Where '+ @FieldName + ' = '''+ @TID+''''
Exec(@Sql)
Print('======='+@TId+'=======sql'+@Sql)
GO
相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
呼叫SQL預存程序的方法:使用CreateNativeQuery
來自於 1970-01-01 08:00:00
0
0
0
mysql - php建立預存程序的問題
來自於 1970-01-01 08:00:00
0
0
0
保存程式碼的文檔格式是什麼?
來自於 1970-01-01 08:00:00
0
0
0
html5 - 微信退出程序,儲存和Cookie會遺失
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板