早上上班,

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

区别在那里 自己挖掘

相关文章:

  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-16
  • 2021-12-04
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-03-08
  • 2022-12-23
  • 2022-12-23
  • 2021-10-19
  • 2022-12-23
相关资源
相似解决方案