SQL Server sql 存储过程批量删除数据的语句
2022-11-12 09:48:22
内容摘要
这篇文章主要为大家详细介绍了SQL Server sql 存储过程批量删除数据的语句,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
代码如下:
文章正文
这篇文章主要为大家详细介绍了SQL Server sql 存储过程批量删除数据的语句,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <code> 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 < LEN(@DelCharIndexID)) 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 </code> |
注:关于SQL Server sql 存储过程批量删除数据的语句的内容就先介绍到这里,更多相关文章的可以留意
代码注释