sql >> Databáze >  >> RDS >> Sqlserver

exec se nezdařil, protože název není platný identifikátor?

Zkuste nakonec toto:

exec (@query)

Pokud nemáte závorky, SQL Server předpokládá, že hodnota proměnné je název uložené procedury.

NEBO

EXECUTE sp_executesql @query

A nemělo by to být kvůli FULL JOIN.
Doufám však, že jste již před tímto vytvořili dočasné tabulky:#TrafficFinal, #TrafficFinal2, #TrafficFinal3.

Všimněte si prosím, že mezi použitím EXEC a sp_executesql jsou důležité aspekty výkonu. Protože sp_executesql používá vynucené ukládání příkazů do mezipaměti jako sp.
Další podrobnosti zde .

Další poznámka, existuje důvod, proč v tomto případě používáte dynamický sql, když můžete dotaz použít tak, jak je, vzhledem k tomu, že neprovádíte žádné manipulace s dotazem a neprovádíte jej tak, jak je?



  1. Jaký je správný způsob uložení těchto dat ve schématu MySQL?

  2. ClusterControl - Pokročilá správa zálohování - mariabackup Část I

  3. Konektivita MySQL a HBase

  4. Vytvořte tabulku DDL s okamžitým spuštěním v databázi Oracle, část 2