SQL存储过程通过传送数组字符串参数删除多条记录

数据库 SQL Server
SQL删除记录有多种不同的方法,下面为您介绍在SQL Server存储过程通过传送数组字符串参数删除多条记录,供您参考。

SQL删除记录有多种不同的方法,下面为您介绍在SQL Server存储过程通过传送数组字符串参数删除多条记录(如多选或全选表单中的多选框所获取的一组数值删除 )。

代码如下:

[[15054]]CREATE PROCEDURE DeleteNews
[[15054]]    
@ID nvarchar(500)
[[15054]]
as
[[15054]]    
DECLARE @PointerPrev int
[[15054]]    
DECLARE @PointerCurr int
[[15054]]    
DECLARE @TId int
[[15054]]    
Set @PointerPrev=1
[[15054]]    
[[15054]]    
while (@PointerPrev < LEN(@ID))
[[15054]]    
Begin
[[15054]]        
Set @PointerCurr=CharIndex(',',@ID,@PointerPrev)
[[15054]]        
if(@PointerCurr>0)
[[15054]]        
Begin
[[15054]]            
set @TId=cast(SUBSTRING(@ID,@PointerPrev,@PointerCurr-@PointerPrevas int)
[[15054]]            
Delete from News where ID=@TID
[[15054]]            
SET @PointerPrev = @PointerCurr+1
[[15054]]        
End
[[15054]]        
else
[[15054]]            
Break
[[15054]]    
End
[[15054]]    
--删除最后一个,因为最后一个后面没有逗号,所以在循环中跳出,需另外再删除
[[15054]]
     set @TId=cast(SUBSTRING(@ID,@PointerPrev,LEN(@ID)-@PointerPrev+1as int
[[15054]]     
Delete from News where ID=@TID
[[15054]]
GO
[[15054]]
责任编辑:段燃 来源: 互联网
相关推荐

2010-10-22 17:14:03

SQL Server删

2010-11-26 13:27:41

MySQL存储过程

2011-07-22 15:38:54

SQL Server数存储过程切割字符串

2010-09-03 11:35:50

2011-05-18 09:50:53

Oracle存储

2010-07-07 17:00:15

SQL Server传

2010-09-26 17:24:24

SQL字符串

2018-05-02 08:40:36

存储密码字符

2010-09-01 16:35:12

SQL删除存储过程

2010-11-10 13:03:15

SQL Server存

2009-11-25 09:13:41

PHP数组转字符串PHP字符串转数组

2010-09-09 11:48:00

SQL函数字符串

2011-07-11 13:22:28

存储过程

2010-06-28 15:18:51

SQL Server

2010-09-13 15:12:26

sql server字

2010-11-08 17:07:41

SQL Server字

2010-11-12 09:18:13

SQL Server存

2010-09-02 10:10:03

SQL删除

2009-09-18 15:22:14

DataContextLINQ to SQL

2010-09-06 17:30:46

SQL函数
点赞
收藏

51CTO技术栈公众号