Sql-Server

在 SQL Server 中獲取有關查詢和儲存過程的元數據

  • July 3, 2017

我想獲取給定查詢中所有列的名稱

$$ SQL Textual Query $$以及儲存過程中 SELECT 子句中的列。 除了使用 REGEX 從 SQL Server 獲取這些資訊之外,還有其他方法嗎?我可以給出 SP 的名稱。

SqlDataReader請建議我在 C# 中使用時獲取此資訊的最佳實踐。

SET FMTONLY ON可用於僅返回列資訊,不會處理或返回任何行。

僅將元數據返回給客戶端。可用於在不實際執行查詢的情況下測試響應的格式。(波爾

SET FMTONLY ON由於這是在 C# / .NET 中完成的,而不是純粹在數據庫級別完成的,因此通過將命令行為(可選參數)傳遞SchemaOnlySqlCommand.ExecuteReader有一個捷徑:

SqlDataReader _Reader = _Command.ExecuteReader(CommandBehavior.SchemaOnly);

這樣做意味著您不需要更改正在送出的查詢,因此這應該是一種“更乾淨”的方法:-)。

引用自:https://dba.stackexchange.com/questions/8819