相关疑难解决方法(0)

SQL Server - 声明变量但仍然说"必须声明标量变量"

我正在尝试在Microsoft SQL Server上运行这组SQL命令,但是我收到此错误:

消息137,级别15,状态1,行1
必须声明标量变量"@dbstatus".

我以为我确实声明了变量,所以我不确定为什么它仍然会抛出错误?

DECLARE @dbname nvarchar(100) 
DECLARE @dbstatus varchar(500) 
DECLARE @sqlCommand NVARCHAR(1000) 
create table #temptable (dbname nvarchar(100), status varchar(500))

DECLARE c1 CURSOR READ_ONLY 
FOR 
   SELECT '[' + name + ']'   FROM sys.databases WHERE name = 'EDDS1084543'

OPEN c1  
FETCH NEXT FROM c1 INTO @dbname 

WHILE @@FETCH_STATUS = 0 
BEGIN            
      SET @sqlCommand = 'SET @dbstatus = (SELECT Status FROM ' + @dbname + '.[EDDSDBO].[dtSearchIndex])'   

      EXECUTE sp_executesql @sqlCommand

      INSERT INTO #tempTable(dbname, [status])VALUES (@dbname, @dbstatus)

      FETCH NEXT FROM c1 INTO …
Run Code Online (Sandbox Code Playgroud)

sql-server

12
推荐指数
1
解决办法
7万
查看次数

标签 统计

sql-server ×1