zoukankan      html  css  js  c++  java
  • 批量把自己系统的数据字典写到数据库字段的说明

      我们公司的系统会把字段的中文名称用字典表单独记录起来。所以在表设计的时候,通常都没有往说明写注释,一个个写也不是很方便。但是如果使用李天平前辈的代码生成器生成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/
    本文版权归作者和博客园共有,欢迎任何形式的转载,但请务必注明出处。

  • 相关阅读:
    OpenStack源码系列---neutron-server
    理解全虚拟、半虚拟以及硬件辅助的虚拟化
    QEMU+GDB调试方法
    SQL Server故障转移集群
    OpenStack源码系列---nova-conductor
    mysql 安装和基本使用
    数据库原理
    linux 计划任务
    linux 进程管理和内存分配

  • 原文地址:https://www.cnblogs.com/novus/p/2009849.html
Copyright © 2011-2022 走看看