是否可以通過使用connection.getschema()從sql server表列中檢索描述項,就像檢索列名,數據類型可爲空,列一樣默認值等?如果是這樣,怎麼樣?檢索來自sql server表列的描述項
回答
上的SQL Server 2005中,你可以使用這個系統表值函數:
fn_listextendedproperty (Transact-SQL)
或嘗試查詢from from this article,像這樣:
SELECT
[Table Name] = OBJECT_NAME(c.object_id),
[Column Name] = c.name,
[Description] = ex.value
FROM
sys.columns c
LEFT OUTER JOIN
sys.extended_properties ex
ON
ex.major_id = c.object_id
AND ex.minor_id = c.column_id
AND ex.name = 'MS_Description'
WHERE
OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0
-- AND OBJECT_NAME(c.object_id) = 'your_table'
ORDER
BY OBJECT_NAME(c.object_id), c.column_id
試試這個:
SELECT
[Table Name] = i_s.TABLE_NAME,
[Column Name] = i_s.COLUMN_NAME,
[Description] = s.value
FROM
INFORMATION_SCHEMA.COLUMNS i_s
LEFT OUTER JOIN
sys.extended_properties s
ON
s.major_id = OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME)
AND s.minor_id = i_s.ORDINAL_POSITION
AND s.name = 'MS_Description'
WHERE
OBJECTPROPERTY(OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME), 'IsMsShipped')=0
--AND i_s.TABLE_NAME = 'table_name'
ORDER BY
i_s.TABLE_NAME, i_s.ORDINAL_POSITION
編輯:固定的查詢:-)
HTH
在SQL Server 2005上,我收到了消息208,級別16,狀態1,行1無效的對象名'sysproperties'。' – 2010-04-05 18:12:44
+1,這正是我正在尋找的。我使用了相同的查詢,但有一個例外:我在where子句中添加了「AND s.value IS NOT NULL」,只返回非空描述的列。 – jlafay 2012-11-01 14:16:10
如果你已經有了DataTable,就像你提到的那樣 - 查看它的數據列!
foreach(DataColumn col in dataTable.Columns)
{
// check out all the properties on the DataColumn
}
這是否包含你所需要的?
是的,我已經在循環做和Im抓數據列中的其他屬性,如「IS_NULLABLE」,「COLUMN_NAME」,「DATA_TYPE」等,但我無法找到如何獲取列的描述。我使用對象檢查器來查看datacolumn的屬性/方法,但我無法找到如何使用對象檢查器來獲取特定信息。 – Pablo 2010-04-06 11:24:23
這似乎是我有同樣的問題http://www.bigresource.com/MS_SQL-GetSchema-not-returning-description-of-table-or-column-GSfX9tHx.html – Pablo 2010-04-06 11:40:43
- 1. SQL Server更改列名描述
- 2. 來自Graph api的描述
- 3. 在所有表中搜索列描述描述元
- 4. 將描述添加到Sql Server表和列中
- 5. CSS有像浮在描述列表項
- 6. Python&P4V:自動更改列表描述
- 7. 檢索文件描述符:: fstream的
- 8. Hibernate:索引描述符在SQL Server 2008上無效
- 9. 最好的方式來描述在SQL
- 10. 如何使用C#獲取Sql Server 2005的列描述?
- 11. Java程序來描述SQL Server存儲過程
- 12. 添加列描述
- 13. 檢索過程描述信息
- 14. 正則表達式來檢索之間的一切「|描述=」和「|類別」
- 15. SQL Server:檢索列中的重複值
- 16. 結果表描述
- 17. 描述表結構
- 18. sql server檢索表的版本
- 19. 實體框架6從SQL Server 2016中導入表和列描述數據
- 20. 如何查詢表格的列描述?
- 21. BNF(EBNF)來描述與可選列
- 22. 如何顯示來自相關表格的描述字段(2)
- 23. 如何顯示來自相關表格的描述字段
- 24. 使用查詢來訪問列描述SQL
- 25. 如何搜索Perforce中變更列表描述的文本?
- 26. Intellij IDEA中的檢查和描述列表?
- 27. 檢索從SQL Server到Infopath的值列表
- 28. 檢索本地PC和網絡上的Sql Server實例列表
- 29. 如何檢索SQL Server LocalDb名稱的列表?
- 30. android菜單項描述
謝謝,但我已經有一個datatable由connection.GetSchema()返回,我試圖從它抓取描述信息。由於通過DataTable的行循環,我可以得到列名,數據類型等的信息,我想說明應該是有過,但我不能找到地方 – Pablo 2010-04-05 18:20:30