现在的位置: 首页 > 综合 > 正文

生成数据库结构设计说明书的存储过程

2013年10月05日 ⁄ 综合 ⁄ 共 2100字 ⁄ 字号 评论关闭

数据表设计说明书一般格式如下:
表名 序号 标识 主键 字段名 类型 占用字节 长度 允许空值 默认值 字段说明

 

搜集整理了一个存储过程可以直接导出到CSV再保存xls.再拷贝到WORD中

这个存储过程使用之后发现一点,以后设计数据库表的时候一定要做好相关备注,就省去了在WORD中填加字段描述的麻烦。不过有些不安全的就是在数据库被盗了后,一切原理都被别人知道了。所以注册会员密码要加密。注册邮箱要不要还要考虑。

 

--生成数据库结构设计说明书

SELECT    
  表名=case   when   a.colorder=1   then   d.name   else   ''   end,
  序号=a.colorder,
  标识=case   when   COLUMNPROPERTY(   a.id,a.name,'IsIdentity')=1   then   '√'else   ''   end,    
  主键=case   when   exists(SELECT   1   FROM   sysobjects   where   xtype='PK'   and   name   in   (  
  SELECT   name   FROM   sysindexes   WHERE   indid   in(  
  SELECT   indid   FROM   sysindexkeys   WHERE   id   =   a.id   AND   colid=a.colid  
  )))   then   '√'   else   ''   end,           
  字段名=a.name,     
  类型=b.name,  
  占用字节数=a.length,  
  长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'),   
  允许空值=case   when   a.isnullable=1   then   '√'else   ''   end,  
  默认值=isnull(e.text,''),  
  字段描述=isnull(g.[value],'')  
  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   sysproperties   g   on   a.id=g.id   and   a.colid=g.smallid      
  left   join   sysproperties   f   on   d.id=f.id   and   f.smallid=0  
  --where   d.name='要查询的表'         --如果只查询指定表,加上此条件  
  order   by   a.id,a.colorder

 

--如果WORD文件中设计好了字段和字段描述可以用下面语句添加数据库表中字段描述

execute sp_addextendedproperty 'MS_Description', '自增ID','user', 'dbo', 'table', 'User', 'column', 'ID'
execute sp_addextendedproperty 'MS_Description', '用户名','user', 'dbo', 'table', 'User', 'column', 'UserName'
execute sp_addextendedproperty 'MS_Description', '用户密码','user', 'dbo', 'table', 'User', 'column', 'Password'
execute sp_addextendedproperty 'MS_Description', '网络呢称','user', 'dbo', 'table', 'User', 'column', 'NickName'
execute sp_addextendedproperty 'MS_Description', '性别','user', 'dbo', 'table', 'User', 'column', 'Sex'
execute sp_addextendedproperty 'MS_Description', '地址','user', 'dbo', 'table', 'User', 'column', 'Address'
execute sp_addextendedproperty 'MS_Description', '电话','user', 'dbo', 'table', 'User', 'column', 'Tel'
execute sp_addextendedproperty 'MS_Description', 'QQ','user', 'dbo', 'table', 'User', 'column', 'QQ'

 

抱歉!评论已关闭.