SQL語句使用IN進(jìn)行批量刪除的兩種寫法
使用SQL語句進(jìn)行刪除操作有多種方法,下面為您介紹兩種使用IN進(jìn)行批量刪除的方法,供您參考,希望對(duì)您能夠有所幫助。
方法一:
如果需要用in的寫法,就需要用到動(dòng)態(tài)sql寫,如下:
DECLARE @ids Varchar(50),@sql varchar(8000)
set @ids='3908,3934'--是從參數(shù)中得到字符 '3908,3934'
set @sql = 'delete YH_order WHERE (id IN (' + @ids + '))'
--print @sql -- 調(diào)試用
exec(@sql)
方法二:
其實(shí)這樣的完全可以用charindex來解決,如下:
DECLARE @ids Varchar(50)
set @ids='3908,3934'--是從參數(shù)中得到字符 '3908,3934'
delete YH_order WHERE charindex(',' + cast(id as varchar) + ',',',' + @ids + ',') > 0