SELECT-Statement mit variablem Tabellennamen

Frage:
In einer SELECT-Anweisung soll der Tabellenname durch eine lokale Variable ersetzt werden.

Lösung:
In SQL-Anweisungen lassen Variablen sich zwar in Ausdrücken, nicht aber anstelle von Objektnamen oder Schlüsselwörtern verwenden.
Um den Tabellennamen in einer SQL-Anweisung erst bei der Ausführung zu ersetzen, muss mit dynamischem SQL gearbeitet werden.
Dazu wird das SQL-Statement bei der Ausführung zu einem String zusammengesetzt und mit Execute oder sp_executesql ausgeführt.

Zum Thema „Dynamisches SQL“ hat Frank Kalis den interessanten Artikel „Dynamisches SQL – Fluch und Segen“ bereitgestellt.

/* übernommen aus der Original sqlfaq.de */