使用SQL语句快速获取SQL Server数据字典

  • 来源: 赛迪网 作者: kaduo   2009-08-02/09:08
  • 本文主要介绍了一个获取SQL Server数据字典的经典SQL语句,大家可以根据各自的实际情况对这段语句进行相应的修改。

    SELECT sysobjects.name AS [table], sysproperties.[value] AS 表说明, 
    syscolumns.name AS field, properties.[value] AS 字段说明, systypes.name AS type, 
    syscolumns.length, ISNULL(COLUMNPROPERTY(syscolumns.id, syscolumns.name, 
    'Scale'), 0) AS 小数位数, syscolumns.isnullable AS isnull, 
    CASE WHEN syscomments.text IS NULL 
    THEN '' ELSE syscomments.text END AS [Default], 
    CASE WHEN COLUMNPROPERTY(syscolumns.id, syscolumns.name, 'IsIdentity') 
    = 1 THEN '√' ELSE '' END AS 标识, CASE WHEN EXISTS
    (SELECT 1
    FROM sysobjects
    WHERE xtype = 'PK' AND name IN
    (SELECT name
    FROM sysindexes
    WHERE indid IN
    (SELECT indid
    FROM sysindexkeys
    WHERE id = syscolumns.id AND colid = syscolumns.colid))) 
    THEN '√' ELSE '' END AS 主键
    FROM syscolumns INNER JOIN
    sysobjects ON sysobjects.id = syscolumns.id INNER JOIN
    systypes ON syscolumns.xtype = systypes.xtype LEFT OUTER JOIN
    sysproperties properties ON syscolumns.id = properties.id AND 
    syscolumns.colid = properties.smallid LEFT OUTER JOIN
    sysproperties ON sysobjects.id = sysproperties.id AND 
    sysproperties.smallid = 0 LEFT OUTER JOIN
    syscomments ON syscolumns.cdefault = syscomments.id
    WHERE (sysobjects.xtype = 'U')

    (责任编辑:董建伟)


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多