我有一个我需要执行的动态SQL,然后我需要将结果存储到变量中.
我知道我可以使用,sp_executesql但无法找到关于如何做到这一点的明确例子.
DECLARE @dbName nvarchar(128) = 'myDb'
DECLARE @siteId int
exec ('SELECT TOP 1 @siteId = Id FROM ' + @dbName + '..myTbl')
select @siteId
Run Code Online (Sandbox Code Playgroud)
当我运行上面的脚本时,我收到以下错误
Msg 137, Level 15, State 1, Line 1
Must declare the scalar variable "@siteId".
(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)
为什么以及如何解决它?
谢谢