有没有办法在不实际执行 SQL 语句的情况下获取 SQL 查询返回的列?
我研究了使用set showplan_all on
和使用 OutputList 字段,但结果并不是我想要的。我需要以正确的顺序获取列和正确的列名(如果它们有别名)。
我正在使用 SQL Server 2008 R2。
为了澄清,这里是一个可以运行的查询示例:
--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 语句,它们是数百行代码,执行多个 crud 操作。我知道我可以尝试手动解析代码行,但我的问题是针对使用 SQL 服务器解析器来确定最终选择语句中将返回哪些列的方法。