SQL Server : Extract Table Meta-Data (description, 字段及其数据类型)

标签 sql sql-server metadata

我正在尝试找到一种方法来提取有关 SQL Server (2008) 中的表的信息。
我需要的数据需要包括表的描述(从属性窗口中的“描述”属性填充)、该表的字段列表以及它们各自的>数据类型

有什么方法可以提取此类元数据吗?我想我必须使用一些 sys sp 但我不确定是哪一个。

最佳答案

不幸的是,要获取描述数据,您必须使用 sysobjects/syscolumns 来获取 ids:

SELECT      u.name + '.' + t.name AS [table],
            td.value AS [table_desc],
            c.name AS [column],
            cd.value AS [column_desc]
FROM        sysobjects t
INNER JOIN  sysusers u
    ON      u.uid = t.uid
LEFT OUTER JOIN sys.extended_properties td
    ON      td.major_id = t.id
    AND     td.minor_id = 0
    AND     td.name = 'MS_Description'
INNER JOIN  syscolumns c
    ON      c.id = t.id
LEFT OUTER JOIN sys.extended_properties cd
    ON      cd.major_id = c.id
    AND     cd.minor_id = c.colid
    AND     cd.name = 'MS_Description'
WHERE t.type = 'u'
ORDER BY    t.name, c.colorder

你可以使用信息模式来做到这一点,但你必须连接等来调用 OBJECT_ID() - 那么这有什么意义呢?

关于SQL Server : Extract Table Meta-Data (description, 字段及其数据类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/887370/

相关文章:

MySQL通过引用一个数据字段来选择多行

sql - 如何在SQL中选择具有偶数ID号的列?

c# - 从 asp.net 中的表单插入到表中

sql - 使用 SQL 函数用空格填充字符串

sql - 解析sql中的时间跨度字符串

mysql - 从 "show tables"MySQL 查询中选择数据

mysql - 在 WHERE 子句中查询 XML 属性值

sql-server - 在 bigquery 中交叉应用等效的 MSSQL 运算符

sql-server - 自定义/任意数据库元数据

c++ - OCCI : Querying for metadata of a stored procedure within a package