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/
    本文版权归作者和博客园共有,欢迎任何形式的转载,但请务必注明出处。

  • 相关阅读:
    固定表头的table
    Object.assign()方法
    一个命令解决linux重启nginx就丢失pid文件问题
    js-xlsx 一个实用的js 导出列表插件
    SparkSQL执行时参数优化
    HSQL转化为MR过程
    简单写下提交sql-map-shuffle-reduce的过程
    order by/sort by/distribute by /cluster by 的区分
    hive中如何控制mapper的数量
    hive 窗口和分析函数功能
  • 原文地址:https://www.cnblogs.com/novus/p/2009849.html
Copyright © 2011-2022 走看看