从Sql server 2008获取表字段属性信息,注释信息

ExpandedBlockStart.gif 代码
select    b. [ value ]   from  sys.columns a  left   join  sys.extended_properties b  on  a. object_id = b.major_id
        
and  a.column_id = b.minor_id  inner   join  sysobjects c  on  a.column_id = c.id
        
and  a. [ name ] = ' 列名 '   and  c. [ name ] = ' 表名 '
        
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='orders'         --如果只查询指定表,加上此条件
         order     by    a.id,a.colorder

 

转载于:https://www.cnblogs.com/ceamky/archive/2010/01/09/1642860.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值