从 sp_executesql 检索列定义

Dmi*_*try 1 sql t-sql sql-server sql-server-2016

我有返回不同表结果的动态查询。结果可以具有不同数量的列和不同的列名称。

EXEC SP_EXECUTESQL @Query,N'@parameter nvarchar(19)',@parameter=@parameter
Run Code Online (Sandbox Code Playgroud)

我可以通过使用检索存储过程的列定义

exec sp_describe_first_result_set N''
Run Code Online (Sandbox Code Playgroud)

但是我如何检索列定义或仅从中获取列名称sp_executesql

Dav*_*oft 5

sp_describe_first_result_set 适用于任意批次,因此只需运行:

exec sp_describe_first_result_set @Query
Run Code Online (Sandbox Code Playgroud)