SQLステートメントを実際に実行せずにSQLクエリが返す列を取得する方法はありますか?
OutputListフィールドの使用set showplan_all on
と使用を検討しましたが、結果は私が望んでいたものではありませんでした。正しい順序と正しい列名(エイリアスされているかどうか)で列を取得する必要があります。
SQL Server2008R2を使用しています。
明確にするために、実行できるクエリの例を次に示します。
--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
列を返そうとするときに、最初のテーブルに何も挿入したくありません。
*注:これは単純な例にすぎません。複数のクラッド操作を実行する数百行のコードであるSQLステートメントがいくつかあります。コードの行を手動で解析できることはわかっていますが、質問はSQLサーバーパーサーを使用して最終的なselectステートメントで返される列を決定するメソッドに向けられました。