sql >> Base de Datos >  >> RDS >> Sqlserver

exec falló porque el nombre no es un identificador válido?

Prueba esto al final:

exec (@query)

Si no tiene los corchetes, SQL Server asume que el valor de la variable es un nombre de procedimiento almacenado.

O

EXECUTE sp_executesql @query

Y no debería ser por FULL JOIN.
Pero espero que ya hayas creado las tablas temporales:#TrafficFinal, #TrafficFinal2, #TrafficFinal3 antes de esto.

Tenga en cuenta que existen consideraciones de rendimiento entre el uso de EXEC y sp_executesql. Porque sp_executesql usa el almacenamiento en caché de declaraciones forzadas como un sp. cómo-son-diferentes.aspx">aquí .

En otra nota, ¿hay alguna razón por la que esté usando sql dinámico para este caso, cuando puede usar la consulta tal cual, considerando que no está haciendo ninguna manipulación de consulta y ejecutándola de la forma en que está?