早上上班,
测试部的同事问了一个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 结果都是对的
区别在那里 自己挖掘