场景介绍

   项目A需要一个批量删除的功能,之前我一直用SqlTransaction去处理,今天同事告诉我可以用CHARINDEX函数去解决问题,因此我今天就研究了一下。

SQL语句
 1 ---定义要删除的数据的ID的字符串集合的变量
 2 declare @deleteId nvarchar(50)
 3 ---给变量赋值,要删除的数据的id集合
 4 set @deleteId=',7,10,4,5,6,'
 5 
 6 delete from urms.dbo.tbBug 
 7 ---比对数据Id是否符合条件,也就是如果CHARINDEX(CONVERT(VARCHAR, (',' + CONVERT(VARCHAR,Id) + ',')), @deleteId)的结果大于0 
 8 ---表示id存在@deleteId中,符合删除条件
 9 where CHARINDEX(CONVERT(VARCHAR, (',' + CONVERT(VARCHAR,Id) + ',')), @deleteId) > 0
10 go
SQL语句

相关文章: