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

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

使用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 

 

责任编辑:段燃 来源: 博客园
相关推荐

2009-09-14 19:25:09

Ruby form

2020-07-23 08:18:27

C语言执行循环体条件

2010-09-28 15:46:22

SQL删除重复记录

2010-09-01 15:43:57

2010-09-01 15:59:44

SQL删除字段

2010-09-16 16:17:03

TRUNCATE TA

2010-10-21 16:24:18

sql server升

2010-11-12 11:44:37

SQL Server删

2010-06-30 13:07:17

SQL Server函

2010-10-20 15:48:56

SQL Server许

2024-02-04 09:24:45

MyBatisSQL语句Spring

2010-07-15 14:38:55

Perl eval函数

2010-03-29 18:31:09

Nginx配置

2010-06-01 18:35:54

删除SVN版本信息

2010-09-08 16:38:13

SQL循环语句

2010-09-25 11:32:20

SQL主键约束

2010-07-01 12:29:27

SQL Server重

2010-11-12 11:48:15

2010-11-09 16:20:46

SQL Server死

2010-09-07 15:12:25

SQL语句优化
点赞
收藏

51CTO技术栈公众号