SET @tab = 'tableName'
SET @field1 = (SELECT field1 FROM '+@tab+' WHERE colName IS NULL)
我收到了这个错误:
必须声明表变量“@tab”。
我需要在@ field1
上设置结果答案 0 :(得分:0)
对于SQL Server数据库,使用EXECUTE sp_executesql
运行您设置的动态sql。 (注意与你的帖子相比,引号的正确位置)。
SET @tab = 'tableName'
SET @field1 = 'SELECT field1 FROM ' + @tab + ' WHERE colName IS NULL'
EXECUTE sp_executesql @field1
但是,要保存返回值,您应该考虑定义OUTPUT
,如下面的答案所示:https://stackoverflow.com/a/3840771/9392034