获取sqlserver中表名和列的信息

SELECT     
              (
case    when   a.colorder = 1    then   d.name    else     ''    end)表名,   
              
--    d.name    as    表名,   
                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   sysproperties   g   
  on   a.id
= g.id   AND   a.colid    =    g.smallid       
  order   by   a.id,a.colorder
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值