Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

exec falhou porque o nome não é um identificador válido?


Tente isso no final:
exec (@query)

Se você não tiver os colchetes, o SQL Server assumirá que o valor da variável é um nome de procedimento armazenado.

OU
EXECUTE sp_executesql @query

E não deve ser por causa do FULL JOIN.
Mas espero que você já tenha criado as tabelas temporárias:#TrafficFinal, #TrafficFinal2, #TrafficFinal3 antes disso.

Observe que há considerações de desempenho entre o uso de EXEC e sp_executesql. Porque sp_executesql usa o cache de instrução forçado como um sp.
Mais detalhes aqui .

Em outra nota, existe uma razão pela qual você está usando sql dinâmico para este caso, quando você pode usar a consulta como está, considerando que você não está fazendo nenhuma manipulação de consulta e executando-a do jeito que está?