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

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

@PointerPrev

as
 
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
+
1

as
 
int

[[15054]]     

Delete
 
from
 News 
where
 ID
=
@TID

[[15054]]

GO

[[15054]]

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/276934.html<

(0)
运维的头像运维
上一篇2025-05-10 21:36
下一篇 2025-05-10 21:37

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注