table1表 id int想实现的是DELETE table1 WHERE id in(1,2,3,4)
这个 1,2,3,4 是输入变量大致类似以下功能@id2del varchar(50)
DELETE table1 WHERE id in(@id2del)
很明显以上写法不行。
在存储过程中,有没有其他实现方法?

解决方案 »

  1.   

    declare @id2del varchar(50)
    set @id2del ='1,2,3,4'
    DELETE table1 WHERE charindex(','+ltrim(id)+',',','+@id2del+',')>0
      

  2.   


    --首先你要确认是否你的传入参数是 '1,2,3,4' 这种格式的,如果是,则delete from tablename where charindex(','+id +',',@p) > 0
      

  3.   

    哦,1楼的对,我写拉了两个引号delete from tablename where charindex(','+id +',',','+@p+',') > 0