DECLARE @dbName nvarchar(128) = 'myDb'
DECLARE @siteId int
exec ('SELECT TOP 1 @siteId = Id FROM ' + @dbName + '..myTbl')
select @siteId
当我运行上面的脚本我收到以下错误如何在t-sql中使用'execute'将值设置为变量?
Msg 137, Level 15, State 1, Line 1
Must declare the scalar variable "@siteId".
(1 row(s) affected)
为什么,以及如何解决它?
谢谢
+1这是更好的方法。我看到一个参数化的数据库名称,并驳回了sp_executesql ... – gbn
+1在创建临时表时没有过热 – garik