SQL where之 in 在变量

早上上班,

测试部的同事问了一个sql问题:sql语句 where 条件 in 变量

declare @id varchar(150)

set @id='''id01'''

Delete from xxx where id=@id

现在 @id有好几个值怎么办?

俺脑子一热没想就说 @id='(''id23'',''id23'',''id23'')' 再把 = 变成 in 就好了...

结果报错误

print 一下查看sql也没有错

想用 try cath 一下的

declare @sql varchar(max)

set @sql ='Delete from xxx where id in '+@id

然后该弄一下 exec( @sql) 动态执行

YEAH!! Why???就成功了呢?

在sql管理器上看到影响行数是1 结果都是对的

区别在那里 自己挖掘

posted @ 2011-11-22 11:03  po~饭盒  阅读(6489)  评论(5编辑  收藏  举报