Tôi đang cố gắng để chạy này tập hợp các câu lệnh SQL trên Microsoft SQL Server nhưng tôi nhận được lỗi này:SQL Server - Biến khai báo, nhưng vẫn nói "Phải khai báo các biến vô hướng"
Msg 137, Level 15, State 1, Line 1
Must declare the scalar variable "@dbstatus".
Tôi nghĩ tôi đã khai báo biến vì vậy tôi không chắc chắn lý do tại sao nó vẫn còn ném lỗi?
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 @dbname
END
CLOSE c1
DEALLOCATE c1