Sql-Server
在 SQL Server 中獲取有關查詢和儲存過程的元數據
我想獲取給定查詢中所有列的名稱
$$ SQL Textual Query $$以及儲存過程中 SELECT 子句中的列。 除了使用 REGEX 從 SQL Server 獲取這些資訊之外,還有其他方法嗎?我可以給出 SP 的名稱。
SqlDataReader
請建議我在 C# 中使用時獲取此資訊的最佳實踐。
SET FMTONLY ON
可用於僅返回列資訊,不會處理或返回任何行。僅將元數據返回給客戶端。可用於在不實際執行查詢的情況下測試響應的格式。(波爾)
SET FMTONLY ON
由於這是在 C# / .NET 中完成的,而不是純粹在數據庫級別完成的,因此通過將命令行為(可選參數)傳遞SchemaOnly
給SqlCommand.ExecuteReader有一個捷徑:SqlDataReader _Reader = _Command.ExecuteReader(CommandBehavior.SchemaOnly);
這樣做意味著您不需要更改正在送出的查詢,因此這應該是一種“更乾淨”的方法:-)。