zoukankan      html  css  js  c++  java
  • SQL语句查询数据库所有表和所有字段的详细信息(包括表描述和字段描述)

    select (case
                when a.colorder = 1 then
                    ddd.value
                else
                    ''
            end
           )                                                as "表名(中文)" --如果表名相同就返回空  
         , (case
                when a.colorder = 1 then
                    d.name
                else
                    ''
            end
           )                                                as 表名       --如果表名相同就返回空  
         , (case
                when a.colorder = 1 then
                    ddd.value
                else
                    ''
            end
           )                                                as 表说明      --如果表名相同就返回空  
         , a.colorder                                       as 字段序号
         , a.name                                           as 字段名
         , (case
                when columnproperty(a.id, a.name, 'IsIdentity') = 1 then
                    ''
                else
                    ''
            end
           )                                                as 是否自增标识
         , (case
                when
                (
                    select count(*)
                    from sys.sysobjects --查询主键  
                    where (name in
                           (
                               select name
                               from sys.sysindexes
                               where (id = a.id)
                                     and (indid in
                                          (
                                              select indid
                                              from sys.sysindexkeys
                                              where (id = a.id)
                                                    and (colid in
                                                         (
                                                             select colid from sys.syscolumns where (id = a.id) and (name = a.name)
                                                         )
                                                        )
                                          )
                                         )
                           )
                          )
                          and (xtype = 'PK')
                ) > 0 then
                    ''
                else
                    ''
            end
           )                                                as 主键       --查询主键END  
         , b.name                                           as 类型
         , a.length                                         as 占用字节数
         , columnproperty(a.id, a.name, 'PRECISION')        as 长度
         , isnull(columnproperty(a.id, a.name, 'Scale'), 0) as 小数位数
         , (case
                when a.isnullable = 1 then
                    ''
                else
                    ''
            end
           )                                                as 允许空
         , isnull(e.text, '')                               as 默认值
         , isnull(g.value, '')                              as 字段说明
    from sys.syscolumns                   a
        left join sys.systypes            b
            on a.xtype = b.xusertype
        inner join sys.sysobjects         d
            on a.id = d.id
               and d.xtype = 'U'
               and d.name <> 'dtproperties'
        left outer join
        (
            select major_id
                 , value
            from sys.extended_properties
            where name = 'MS_Description'
                  and minor_id = 0
        )                                 as ddd
            on a.id = ddd.major_id
        left join sys.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
    order by a.id
           , a.colorder;
    ALTER PROC [dbo].[sp_helpremark]      
          
    @TABLE_NAME VARCHAR(50)      
          
    AS      
          
    
    SELECT   
     (case when a.colorder=1 then ddd.value else '' end) as "表名(中文)",--如果表名相同就返回空  
     (case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空  
     (case when a.colorder=1 then ddd.value else '' end) as 表说明,--如果表名相同就返回空  
         a.colorder as 字段序号,  
         a.name as 字段名,  
         (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) as 是否自增标识,  
         (case when (SELECT count(*) FROM sysobjects--查询主键  
                         WHERE (name in  
                                 (SELECT name FROM sysindexes   
                                   WHERE (id = a.id)  AND (indid in  
                                         (SELECT indid FROM sysindexkeys  
                                           WHERE (id = a.id) AND (colid in  
                                             (SELECT colid FROM syscolumns  
                                              WHERE (id = a.id) AND (name = a.name)
               )  
                                          )
                        )
            )
               )
          )
             AND (xtype = 'PK'))>0 then '√' else '' end) as 主键,--查询主键END  
     b.name as 类型,  
     a.length as 占用字节数,  
     COLUMNPROPERTY(a.id,a.name,'PRECISION') as  长度,  
     isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,  
     (case when a.isnullable=1 then '√'else '' end) as 允许空,  
     isnull(e.text,'') as 默认值, 
     isnull(g.[value],'') AS 字段说明   
     
     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 OUTER JOIN( SELECT major_id, value 
         FROM sys.extended_properties 
         WHERE name='MS_Description' AND minor_id = 0)
        as ddd  ON a.id = ddd.major_id
     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  where d.name like '%'+@TABLE_NAME+'%'
     order by a.id,a.colorder
    

      

  • 相关阅读:
    C#里有个东东叫继承
    ReferenceTable overflow 问题汇总
    meego 启动qemu模拟器出现no matching configs found
    win7系统远程桌面链接linux系统
    如何用Doxgen制作chm格式文档
    win7系统下光盘安装linux ubuntu10.04.4LTS双系统攻略
    Meego SDK 安装过程中的出现问题
    win7系统上使用putty登陆ubuntu攻略
    undefined reference to “functionA”
    ubuntu中meego sdk安装target和runtime无法下载问题
  • 原文地址:https://www.cnblogs.com/weifeng123/p/9856117.html
Copyright © 2011-2022 走看看