首页 > 其他 > 详细

查询表结构信息

时间:2015-12-26 15:01:51      阅读:76      评论:0      收藏:0      [点我收藏+]
SELECT  ( CASE WHEN a.colorder = 1 THEN d.name
               ELSE NULL
          END ) 表名 ,
        a.colorder 字段序号 ,
        a.name 字段名 ,
        ( CASE WHEN COLUMNPROPERTY(a.id, a.name, IsIdentity) = 1 THEN 
               ELSE ‘‘
          END ) 标识 ,
        ( 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 ) 主键 ,
        b.name 类型 ,
        a.length 占用字节数 ,
        COLUMNPROPERTY(a.id, a.name, PRECISION) AS 长度 ,
        ISNULL(COLUMNPROPERTY(a.id, a.name, Scale), 0) AS 小数位数 ,
        ( CASE WHEN a.isnullable = 1 THEN 
               ELSE ‘‘
          END ) 允许空 ,
        ISNULL(e.text, ‘‘) 默认值 ,
        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 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.class
                                               AND f.minor_id = 0
WHERE   b.name IS NOT NULL
--WHERE d.name=‘要查询的表‘ --如果只查询指定表,加上此条件
ORDER BY a.id ,
        a.colorder

 

查询表结构信息

原文:http://www.cnblogs.com/acoll/p/5078012.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!