MS SQL2000 && 2005转出数据字典

本文提供SQL Server 2000与2005中用于查询表结构的SQL语句,包括字段序号、字段名、类型等详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 SQL 2000

 

          SELECT  
        (
case   when  a.colorder = 1   then  d.name  else   ''   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  a .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

 

SQL 2005

 

SELECT  
        (
case   when  a.colorder = 1   then  d.name  else   ''   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.major_id 
order   by  a.id,a.colorder

 

轉自:http://www.cnblogs.com/xh831213/archive/2008/04/21/1164093.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值