导出表结构(数据字典)

时间:2022-04-22
本文章向大家介绍导出表结构(数据字典),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

-- 数据字典

 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