Why i get the error: Msg 137, Level 15, State 1, Line 1 Must declare the scalar variable "@cd_empresa". I declared it already. Sry for the bad english.
DECLARE @SQL VARCHAR(250)
DECLARE @AONDE VARCHAR(250)
DECLARE @CP VARCHAR(250)
DECLARE @BANCO VARCHAR(23)
DECLARE @TABELA VARCHAR(50)
DECLARE @TB VARCHAR(250)
DECLARE @cnpj NUMERIC(14)
DECLARE @cd_empresa INT
SET @cnpj = 9211813000103
SELECT @BANCO = BANCO
FROM ESTAB_GERDOR
WHERE NUM_CNPJ_ESTAB_GERDOR = @cnpj
SET @BANCO = @BANCO+'.DBO'
SET @TABELA = '.CADEntidade'
SET @TB = @BANCO+@TABELA
SET @CP = ' @cd_empresa = cd_entidade'
SET @AONDE = ' WHERE cnpj_cpf = '+CONVERT(VARCHAR(14),@cnpj)
SET @SQL = 'SELECT '+@CP+' FROM '+@TB+@AONDE
PRINT (@SQL)
EXEC (@SQL)
PRINT @cd_empresa