批量把自己系统的数据字典写到数据库字段的说明

本文介绍了一种利用存储过程sp_addextendedproperty批量为数据库字段添加中文名称作为说明的方法,通过创建视图和游标实现自动化处理。

  我们公司的系统会把字段的中文名称用字典表单独记录起来。所以在表设计的时候,通常都没有往说明写注释,一个个写也不是很方便。但是如果使用李天平前辈的代码生成器生成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整理好,再批量更新。在数据库里面操作实在太麻烦了。

转载于:https://www.cnblogs.com/novus/archive/2011/04/08/2009849.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值