快速查询数据表结构

 1 SELECT    
 2     表名       = case when a.colorder=1 then d.name else '' end,   
 3     表说明     = case when a.colorder=1 then isnull(f.value,'') else '' end,     
 4     字段名     = a.name,  
 5     字段说明   = isnull(g.[value],''), 
 6     标识       = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then ''else '' end,   
 7     主键       = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (   
 8                      SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '' else '' end,   
 9     类型       = b.name,     
10     长度       = COLUMNPROPERTY(a.id,a.name,'PRECISION'),   
11     小数位数   = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),   
12     允许空     = case when a.isnullable=1 then ''else '' end,   
13     默认值     = isnull(e.text,'')   
14        
15 FROM syscolumns a left join systypes b    
16 on a.xusertype=b.xusertype   
17 inner join sysobjects d    
18 on a.id=d.id  and d.xtype='U' and  d.name<>'dtproperties'   
19 left join syscomments e    
20 on a.cdefault=e.id   
21 left join sys.extended_properties   g    
22 on a.id=g.major_id and a.colid=g.minor_id     
23 left join sys.extended_properties f   
24 on d.id=f.major_id and f.minor_id=0   
25 where d.name='Factory'    --如果只查询指定表,加上此条件   
26 order by a.id,a.colorder
27 
28  
29     

 

posted @ 2020-08-21 14:08  物极必反iii  阅读(243)  评论(0)    收藏  举报