批量把自己系统的数据字典写到数据库字段的说明
我们公司的系统会把字段的中文名称用字典表单独记录起来。所以在表设计的时候,通常都没有往说明写注释,一个个写也不是很方便。但是如果使用李天平前辈的代码生成器生成model层的时候,默认是取数据库字段的说明作为注释的。所以后期开发的时候,又要写上说明,还是比较麻烦。所以想找个方法把我们系统里面的中文名称写到字段的说明中去。
字段的说明主要保存在这个表中:extended_properties,这个表的说明请自己查找MSDN的说明。刚开始以为看懂表结构就可以批量插入,刚插入,结果系统报错了,这个表是受数据系统保护的。但是提供了一个存储过程给我们调用:sp_addextendedproperty。有了这个接口,我们就可以使用视图和游标来批量插入了。
新建了一个视图:
如图分别为表名,字段名,字段说明。这个存储过程用来插入字段说明的话,就主要需要我们提供这三个变量就可以了。
然后写一个游标,游标比较简单不多解释。
declare @TableName varchar(40) declare @ColumnName varchar(100) declare @Description varchar(400) declare updDescription scroll cursor for select TableName,ColumnName,Description from vUpdDescription where 1=1 for update open updDescription fetch from updDescription into @TableName,@ColumnName,@Description while @@fetch_status = 0 begin if @Description is not null print @Description EXEC sp_addextendedproperty N'MS_Description', @Description, 'SCHEMA', N'dbo', 'TABLE', @TableName, 'COLUMN',@ColumnName fetch from updDescription into @TableName,@ColumnName,@Description end close updDescription deallocate updDescription
如果后期才加入的话,也可以考虑先用Excel整理好,再批量更新。在数据库里面操作实在太麻烦了。
作者:Novus
出处:http://www.cnblogs.com/novus/
本文版权归作者和博客园共有,欢迎任何形式的转载,但请务必注明出处。