Erstellen einer SQL-Tabelle mit dem Namen der dynamischen Variablen

7

Ich möchte Backup-SQL-Tabellen mit Variablennamen erstellen.

etwas in der Art von

%Vor%

aber ich bekomme

  

Falsche Syntax in der Nähe von '@SQLTable'.

Es ist nur ein Teil eines kleinen Skripts für die Wartung, also muss ich mir keine Gedanken über Injektionen machen.

    
stevenjmyu 25.05.2010, 15:03
quelle

5 Antworten

10
%Vor%     
John Hartsock 25.05.2010, 15:09
quelle
6

Leider können Sie Bind-Variablen nicht für Tabellennamen, Spaltennamen usw. verwenden. In diesem Fall müssen Sie dynamisches SQL generieren und exec verwenden.

    
Donnie 25.05.2010 15:05
quelle
4
%Vor%

Ich habe das Datum getrennt gelassen, da ich annehme, dass Sie es für jeden Lauf berechnen möchten.

    
Don 25.05.2010 15:08
quelle
4

Sie sollten nach Synonymen suchen:

- Erstellen Sie ein Synonym für die Produkttabelle in AdventureWorks2008R2. CREATE SYNONYM MyProduct FÜR AdventureWorks2008R2.Production.Product; GEHEN

- Fragen Sie die Produkttabelle ab, indem Sie das Synonym verwenden. Verwenden Sie Tempdb; GEHEN SELECT Produkt-ID, Name Von MyProduct WHERE ProduktID & lt; 5; GEHEN

Ссылка

    
Tyson Nero 25.05.2010 19:05
quelle
0
%Vor%

diese Abfrage ist korrekt, aber verwenden Sie einfach Anführungszeichen bei der ("FooTable") = 'FooTable'

    
Chandu 17.04.2017 12:57
quelle