1. 程式人生 > >用SQL語言查詢表和檢視的欄位的註釋資訊

用SQL語言查詢表和檢視的欄位的註釋資訊

SELECT 
    (
casewhen a.colorder=1then d.name else''end) 表名,
     a.colorder 欄位序號,
     a.name 欄位名,
    (
casewhenCOLUMNPROPERTY( a.id,a.name,'IsIdentity')=1then''else''end) 標識,
    (
casewhen (SELECTcount(*)
            
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') )>0then''else''end) 主鍵,
     b.name 型別,
     a.length 佔用位元組數,
     
COLUMNPROPERTY(a.id,a.name,'PRECISION'as 長度,
     
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0as 小數位數,
    (
casewhen a.isnullable=1then''else''end) 允許空,
     
isnull(e.text,'') 預設值,
     
isnull(g.[value],''AS 欄位說明    
 
FROM  syscolumns  a leftjoin systypes b 
    
on  a.xtype=b.xusertype
    
innerjoin sysobjects d 
    
on a.id=d.id  and  d.xtype='U'and  d.name<>'dtproperties'
    
leftjoin syscomments e
    
on a.cdefault=e.id
    
leftjoin sysproperties g
    
on a.id=g.id AND a.colid = g.smallid  
orderby a.id,a.colorder