SQL where之 in 在变量

2014-11-24 10:20:50 · 作者: · 浏览: 0

早上上班,

测试部的同事问了一个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 结果都是对的

区别在那里 自己挖掘

作者:JasonXuVip