Gibt es eine Möglichkeit, die Spalten abzurufen, die eine SQL-Abfrage zurückgeben würde, ohne eine SQL-Anweisung auszuführen?Abrufen von zurückgegebenen Spalten aus SQL-Anweisung
Ich schaute in Verwendung set showplan_all on
und Verwendung der OutputList Feld, aber die Ergebnisse waren nicht ganz das, was ich wollte. Ich brauche die Spalten in der richtigen Reihenfolge und den richtigen Spaltennamen (wenn sie Aliasing sind oder nicht).
Ich verwende SQL Server 2008 R2.
Um zu klären, hier ist ein Beispiel für eine Abfrage, die ausgeführt werden könnten:
--log that the user has executed a query
insert into execution_log_table
(timestamp
,user_id
,report_id)
values (CURRENT_TIMESTAMP
,1234
,5678)
select *
from (select column1
,column2
from another_table) tbl
Ich würde nichts in die erste Tabelle eingefügt werden soll, wenn die Spalten zurückgegeben zu bekommen versuchen.
* Hinweis: Dies ist nur ein einfaches Beispiel, ich habe einige SQL-Anweisungen, die Hunderte von Zeilen Code sind, die mehrere Crud-Operationen ausführen. Ich weiß, dass ich versuchen könnte, die Codezeilen manuell zu analysieren, aber meine Frage wurde an eine Methode gerichtet, die den SQL-Server-Parser verwendet, um zu bestimmen, welche Spalten in der endgültigen select-Anweisung zurückgegeben würden.
Liegt diese Frage im Zusammenhang mit der Verwendung von SqlBulkCopy? – Phil
Nein, ich habe eine Reporting-Anwendung, die davon profitieren würde, die Spalten abrufen zu können, ohne die SQL-Anweisung ausführen zu müssen. – ChandlerPelhams