复选框多选sql执行语句

sql | 2017-09-28 00:30:54 | 60次阅读 | 0评

在复选框多选的时候,我们找到多行数据,需要在数据库中查询.这个多行数据查询的时候,例如id.

此时变为了一个长的一个字符串,他的sql存储过程如下

create proc proc_deleteCheck
@deletes varchar(max) 
as
declare @set varchar(max);
set @set='delete from Student where StuNum in ('+@deletes+')'
exec(@set)

但是为先写的不是这个,是以下这个语句


create proc proc_deleteCheck
@deletes varchar(max) 
as
delete from Student where StuNum in (@deletes)
但问题是这个语句并不能查询到我想要的结果.就是说,这个查询条件在语句中找不到.

原因我也想到了.是因为@deletes的语句是一个字符串,但是sql中的in里面是个集合,而不是字符串

问题是:为什么第一个能查到.

这个问题等我找到答案再说!哪位朋友知道麻烦告诉我下.

d



博友评论,共0条
最新评论