Ich verwende derzeit sp_executesql, um eine T-SQL-Anweisung mit einem dynamischen Tabellennamen auszuführen. Es ist aber wirklich hässlich so etwas wie zu sehen:Wie erstelle ich in SQL Server eine Referenzvariable für eine Tabelle?
set @sql = 'UPDATE '+Table_Name+' SET ... WHERE '+someVar+' = ... AND '+someVar2' = ...'
sp_executesql @sql
Was ich lieber haben möchte, ist eine Tabelle Variable, von denen ein Verweis auf eine Tabelle ist, so konnte ich zum Beispiel so tun:
UPDATE TableRef SET ... WHERE ...
Weil, wenn ich wirklich lange T-SQL-Anweisungen habe, wird es wirklich schwierig zu lesen, aufgrund des Formats in einer Zeichenfolge.
Alle Vorschläge wären hilfreich.
BTW, nicht 'SET sql = ...' aber 'SET @sql = ...' – abatishchev
Ja, danke für die Fixes. Ich bekam Blockquote, als ich @ drückte. Ich war mir nicht bewusst, dass ich es so machen könnte. Vielen Dank. –
ón: Das Produkt heißt "SQL Server", nicht "MSSQL". –