[SQL]Table Description

 

SQL Server 2005 生成表描述

写文章时常用

 

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    PARENT_OBJ = A.ID    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 =   ' '     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  
ORDER     BY    
A.ID,A.COLORDER 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值