【发布时间】:2014-03-06 14:34:33
【问题描述】:
请看下面的代码:
declare @value as nvarchar(100)
declare @sql as nvarchar(100)
set @Value = ' WHERE ID=@Value'
set @sql='SELECT * FROM person ' + @Value
EXECUTE sp_executesql @sql
我得到的错误是:必须声明标量变量“@Value”。这是为什么呢?
【问题讨论】:
-
“重复”问题都与这个问题无关。第一个处理参数化无法参数化的事物(列访问和表访问)。至于第二个,可变套管在这里是一个红鲱鱼。
标签: sql sql-server tsql