系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > MsSql > 详细页面

使用SQL生成指定数据库的数据字典(MSSQL)

时间:2019-12-02来源:电脑系统城作者:电脑系统城

USE DBNAME --指定要生成数据字典的数据库
 
GO
SELECT
    表名=
CASE
         
        WHEN a.colorder= 1 THEN
        d.name ELSE ''
    END, 表说明=
CASE
     
    WHEN a.colorder= 1 THEN
    isnull( f.value, '' ELSE ''
    END, 字段序号= a.colorder, 字段名= a.name, 标识=
CASE
     
    WHEN COLUMNPROPERTY( a.id, a.name'IsIdentity' ) = 1 THEN
    '√' ELSE ''
    END, 主键=
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 = a.id AND colid = a.colid ) )
        THEN
        '√' ELSE ''
    END,
    类型= b.name,
    占用字节数= a.length,
    长度= COLUMNPROPERTY( a.id, a.name'PRECISION' ),
    小数位数= isnull( COLUMNPROPERTY( a.id, a.name'Scale' ), 0 ),
    允许空=CASE
         
        WHEN a.isnullable= 1 THEN
        '√' ELSE ''
    END,
    默认值= isnull( e.text, '' ),
    字段说明= isnull( g.[value], '' )
FROM
    syscolumns a
    LEFT JOIN systypes b ON a.xtype= b.xusertype
    INNER JOIN sysobjects d ON a.id= d.id
    AND d.xtype= 'U'
    AND d.name<> 'dtproperties'
    LEFT JOIN syscomments e ON a.cdefault= e.id
    LEFT JOIN sys.extended_properties g ON a.id= g.major_id
    AND a.colid= g.minor_id
    LEFT JOIN sys.extended_properties f ON d.id= f.major_id
    AND f.minor_id = 0
--where d.name='要查询的表' --如果只查询指定表,加上此条件
ORDER BY
    a.id,
    a.colorder
分享到:

相关信息

  • SQL Server 数据库中的收缩数据库和文件操作

    收缩数据文件通过将数据页从文件末尾移动到更靠近文件开头的未占用的空间来恢复空间,在文件末尾创建足够的空间后,可取消对文件末尾的数据页的分配并将它们返回给文件系统,本文给大家介绍SQL Server 数据库中的收缩数据...

    2023-10-27

  • dbeaver配置SQL server连接实现

    一、需要java jdk环境,我用的比较新 二、dbeaver新建连接SQL server...

    2023-10-27

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载