Gespeicherte Prozedur übergeben Tabellennamen als parameter

Ich habe über ein halbes Dutzend generische, aber ziemlich komplexe gespeicherte Prozeduren und Funktionen, die ich verwenden möchte um in einer allgemeineren Weise.

Idealerweise möchte ich weitergeben kann der Tabellenname als ein parameter an die Prozedur, wie es derzeit ist hart codiert.

Forschung, die ich getan habe, schlägt vor, die ich brauche, um zu konvertieren alle vorhandenen SQL in meinem Verfahren, um dynamisches SQL verwenden, um splice-in der dynamischen Tabelle mit Namen aus parameter, aber ich Frage mich, ob es ist ein einfacher Weg, durch Verweis auf die Tabelle in einer anderen Art und Weise?

Beispiel:

SELECT * FROM @MyTable WHERE...

Wenn ja, wie kann ich das @MyTable variable aus der Tabelle Namen?

Ich bin mit SQL Server 2005.

  • Wie/wo sind diese Tabellen erstellt oder gespeichert? Sind Sie Ergebnisse aus anderen Abfragen?
  • Als marc_s gesagt, ein upgrade auf SQL 2008. Tabelle-Wert Parameter sind pure awesomeness beim Umgang mit einer großen Anzahl von updates auf eine einzige Tabelle.
  • Bitte Lesen Sie seine Frage genauer. Trotz dem Frage-Titel, er versucht sich zu übergeben Sie den Namen einer Tabelle (eine Tabelle).
InformationsquelleAutor bigtv | 2010-07-27
Schreibe einen Kommentar