zoukankan      html  css  js  c++  java
  • MS SQL SERVER 读取数据库中每个表的描述/注释以及表中字段/列的字段名,字段类型,字段描述/注释/说明等信息

    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.xusertype=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='V_test' --如果只查询指定表,加上此条件
    ORDER BY a.id,a.colorder;

  • 相关阅读:
    oracle 查找或删除重复记录的语句
    多线程案例
    JAVA调用增删改的存储过程
    设计中最常用的CSS选择器
    ORACLE多表查询优化
    oracle存储过程的事务处理
    oracle函数调用存储过程
    oracle存储过程的基本语法
    java.lang.OutOfMemoryError: Java heap space解决方法
    文件操作工具类
  • 原文地址:https://www.cnblogs.com/swtool/p/8588433.html
Copyright © 2011-2022 走看看