获取返回列的描述
本文关键字:描述 返回 获取 | 更新日期: 2023-09-27 18:02:17
在SQL Server和/或其c# API中,是否存在一种机制,通过该机制,我可以获得执行任意SQL/准备语句/存储过程的结果的描述(即列名和数据类型),而无需实际执行它?
例子…
select * from my my_table
想要的结果…
col_1 col_2 col_3 ... col_n
integer float varchar(32) datetime2
或者一些等价的信息?
SET FMTONLY
就是你要找的:
只向客户端返回元数据。可用于测试响应的格式,而无需实际运行查询。
例如:
SET FMTONLY ON
GO
select * from my my_table
GO
SET FMTONLY OFF
GO
将产生一个空的结果集。
在c#中,使用SqlCommand
对象,您可以指定SchemaOnly
CommandBehaviour
,并且您将类似地获得一个空结果集,然后您可以检查。
我想你可能会使用这个:
EXEC sp_help my_table
或者在这里看到我的问题/答案:我如何在表或视图中获得列列表?