日期:2014-05-16  浏览次数:20408 次

关于SqlServer批量删除问题,求助!!!
ALTER proc [dbo].[usp_DeleteArticles]
@id varchar(100)
as
begin
delete from article where id in(@id)
delete from Discuss where TId in(@id)
end


上面是我写的存储过程 @id是字符串类型 我在调用的时候打算传进来多个id用逗号隔开, 形式是这样的:111,222,333,444
然后实现根据id一次删除

因为我在后台代码里把获取到的id 拼接成了 111,222,333,444的形式 我想直接传进来就可以删除, 但是数据库报错 varchar无法转换int类型 想问问是什么问题 我该怎么修改? 

------解决方案--------------------

declare @sql varchar(100);
set @sql = 'delete from article where id in('+ @id +')'