SELECT 
(case when a.colorder=1 then d.name else '' end) N'表名',
a.colorder N'字段序号',
a.name N'字段名',
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) N'标识',
(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) N'主键',
b.name N'类型',
a.length N'占用字节数',
COLUMNPROPERTY(a.id,a.name,'PRECISION') as N'长度',
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as N'小数位数',
(case when a.isnullable=1 then '√'else '' end) N'允许空',
isnull(e.text,'') N'默认值',
isnull(g.[value],'') AS N'字段说明'
--into ##txFROM  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 sysproperties g
on a.id=g.id AND a.colid = g.smallid  
order by object_name(a.id),a.colorder

解决方案 »

  1.   

    select  t1.tablename,t1.colname,descr=isnull(t2.value,''),t1.type,t1.length,t1.isnullable  from    
    (select  a.id,tablename=d.name,colname=a.name  ,colid=a.colid,type=b.name  ,a.length,  a.isnullable  
    from  syscolumns  a,  systypes  b,sysobjects  d  
    where  a.xtype=b.xusertype  and  a.id=d.id  and  d.xtype='U'  )t1  
    left  join  sysproperties  t2  on  t1.id=t2.id  and  t1.colid=t2.smallid
      

  2.   

    上面是可视化的表结构.
    下面是可以重新创建表的表结构sql200企业管理器
      --右键要导出的数据库
      --所有任务
      --生成SQL脚本
      --<常规>里选择"生成全部对象脚本"","在脚本文件中包含说明性标题"选上
      --<设置格式>里,将"包含扩展属性",选上
      --<选项>中,将"表脚本选项"中的内容全部选择上
      --<选项>中,"安全性选项"是决定是否要包含创建数据库及用户权限等的设置,根据你的需要选择
      --其他所有的选项保持默认值
      --然后确定,将其保存成一个.sql文件
      

  3.   

    不用SQL也可以,用VISIO吧!方便