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 结果都是对的

区别在那里 自己挖掘



作者:JasonXuVip
我的网址:政和生活网
本文地址:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

原文地址:https://www.cnblogs.com/jasonxuvip/p/2258471.html