SQL语句使用IN进行批量删除的两种写法


  本文标签:SQL 删除

  使用SQL语句进行删除操作有多种方法,下面为您介绍两种使用IN进行批量删除的方法,供您参考,希望对您能够有所帮助  。

  方法一:  

  如果需要用in的写法,就需要用到动态sql写,如下:
 
DECLARE   @ids   Varchar(50),@sql   varchar(8000)  
set   @ids=3908,3934--是从参数中得到字符   3908,3934  
set   @sql   =   delete   YH_order   WHERE   (id   IN   (   +   @ids   +   ))  
--print   @sql     --   调试用  
exec(@sql)  
   
方法二:
  
其实这样的完全可以用charindex来解决,如下: 

  DECLARE   @ids   Varchar(50)  
set   @ids=3908,3934--是从参数中得到字符   3908,3934  
delete   YH_order   WHERE   charindex(,   +   cast(id   as   varchar)   +   ,,,   +   @ids   +   ,)   >   0