title: SQL Server - Variable declared but still says "Must declare the scalar variable"
body: <p>I'm trying to run this set of SQL commands on Microsoft SQL Server but I am getting this error:</p>
  
  <blockquote>
    <p><em>Msg 137, Level 15, State 1, Line 1<br>
    Must declare the scalar variable "@dbstatus".</em></p>
  </blockquote>
  
  <p>I thought I did declare the variable so I'm not sure why it's still throwing the error?</p>
  
  <pre><code>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 
  </code></pre>