在操作数据库时,我们时常需要给数据库中的表名以及字段名添加注释,如果去写comment语句,或者是直接拼出来一条一条去执行,亦或者使用一些可视化工具去添加,都太过于繁琐。

在此背景下,我想到了一个比较方便的、节省成本的方法与大家分享,就是维护一个注释表,然后编写一个存储过程,存储过程中自动拼成一条一条的comment sql语句,然后利用游标去循环执行,效率非常高,而且维护起来也方便,具体操作步骤如下:

1、建注释表

create table TABCOL_COMMENTS

(

TAB_NAME VARCHAR2(500),

TAB_COMMENTS VARCHAR2(500),

COL_NAME VARCHAR2(500),

COL_COMMENTS VARCHAR2(500)

)

tablespace BIGDATA_STG

pctfree 10

initrans 1

maxtrans 255

storage

(

initial 256

next 256

minextents 1

maxextents unlimited

pctincrease 0

);

-- Add comments to the columns

comment on column TABCOL_COMMENTS.TAB_NAME

is '表名';

comment on column TABCOL_COMMENTS.TAB_COMMENTS

is '表注释';

comment on column TABCOL_COMMENTS.COL_NAME

is '字段名';

comment on column TABCOL_COMMENTS.COL_COMMENTS

is '字段注释';

2、编写存储过程

create or replace procedure PORC_COMMENT is

v_log varchar2(1000);

CURSOR CUR_SQL IS

with A as

(select upper(tab.tab_name) as tab_name, tab.tab_comments, upper(tab.col_name) as col_name,tab.col_comments

from tabcol_comments tab),

--字段注释

B as

(SELECT 'comment on column ' || tab_name || '.' || col_name || ' is ''' || col_comments || '''' as sqls

from A),

--表注释

C as

(select'comment on table ' || tab_name || ' is ''' || tab_comments || '''' as sqls

from A),

D as

(select distinct sqls from C)

select sqls from B

union all

select sqls from D;

begin

execute immediate 'truncate table tabcol_comments_log';

for cur_s in CUR_SQL LOOP

insert into tabcol_comments_log (v_log) values(cur_s.sqls);

commit;

execute immediate cur_s.sqls;

end LOOP;

END PORC_COMMENT;

mysql 存储过程怎么多行注释_数据库通过存储过程批量添加注释(模板为oracle)...相关推荐

  1. Mysql存储过程名规则_数据库对象命名规范一(原则、命名、 表、视图、存储过程、函数、触发器命名规范)...

    命名规范是指数据库对象如数据库(SCHEMA).表(TABLE).索引(INDEX).约束(CONSTRAINTS)等的命名约定. 1. 原则命名使用具有意义的英文词汇,词汇中间以下划线分隔. 命名只 ...

  2. pb 执行存储过程带参数_数据库存储过程

    1. 存储过程的类型: (1) 用户自定义存储过程 自定义存储过程即用户使用T_SQL语句编写的.为了实现某一特定业务需求,在用户数据库中编写的T_SQL语句集合,自定义存储过程可以接受输入参数.向客 ...

  3. dapper 调用 存储过程返回值_数据库事务、存储过程、函数以及触发器之间的区别和联系...

    一.[事务概念] 事务(Transaction)是指构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行. 1,如果事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前 ...

  4. MySQL删除空值语句_数据库语句sql 删除空记录

    最简单删除SQL Server中所有数据的方法 原文:最简单删除SQL Server中所有数据的方法 最简单删除SQL Server中所有数据的方法   编写人:CC阿爸   2014-3-14 其实 ...

  5. 【MySQL 第10章_数据库的设计规范】

    第10章_数据库的设计规范 1. 为什么需要数据库设计 2.范式 2.1范式简介 2.2范式都包括哪些 2.3 键和相关属性的概念 2.4第一范式(1st NF) 2.5 第二范式(2nd NF) 2 ...

  6. mysql权限层级体系_数据库mysql有哪些权限?层级有哪些?

    我们想要运行一个文件时,有时候会出现只有管理员才能打开这类软件,这就是权限对于用户的限制.那么在我们最近学习的数据库mysql中,也有这样的权限需要我们去注意吗?小编想说当然有,而且还不少!今天就数据 ...

  7. mysql双机互备linux成功的_配置MySQL双机热备 - Linux服务器MySQL双机热备份试验_数据库技术_Linux公社-Linux系统门户网站...

    二.配置MySQL双机热备 传统模式都是采用MySQL双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档.故我的一个想法产生了:当建立新的数据库时,默认会建立到/usr/local/m ...

  8. mysql打错了怎么办_数据库出错了怎么办?

    下面是网上收集的多种方法,大家可以测试下. (一) 昨晚浏览自己的Blog的时候,突然发现所有页面都无法显示,到后台查看的时候,发现一个"Table 'xxx' is marked as c ...

  9. mysql dbms是什么_数据库管理系统(DBMS)是用来做什么的?

    展开全部 数据库管理系统(database management system)是一种操纵和32313133353236313431303231363533e58685e5aeb93133326235 ...

最新文章

  1. C语言中字符型在计算机中的存储
  2. 数据分析学习02-numpy
  3. matlab 计算N天前(后)的日期
  4. java线程——中断线程+线程状态+线程属性(优先级)
  5. java 并发锁_Java并发教程–重入锁
  6. Eclipse中单元测试
  7. python获取股票数据_python根据股票代码获取当前数据
  8. 新颖的自我介绍_公众场合,如何做一个吸睛的自我介绍?
  9. 【selenium学习笔记一】python + selenium定位页面元素的办法。
  10. X大佬:建议被降级降薪员工主动辞职,网友炸了
  11. composer全局 linux_Linux下全局安装composer方法
  12. 企业权限管理系统如何配置?深度解析永洪BI权限管理系统
  13. 计算机中毒后开机变慢,电脑中毒后运行慢的解决方法
  14. 电脑取消撤销快捷键是什么_删除的快捷键是什么?电脑删除的快捷键在哪?
  15. 腾讯qq的授权管理查看页面
  16. 协同创新 强省惠民 | 山东省数据应用创新创业大赛主赛场等你来战
  17. 【牛尔】【小p】这些美容强男的超级秘籍!!!丝般肌肤毛孔看不见,清透小面颊,丝滑小脸蛋儿,你难道不想拥有吗————【收缩毛孔的最佳方法】(一夜之间6万浏览量,大师的感召力和信服力就是强啊!)
  18. 手机计算机怎么玩24点游戏,计算器游戏怎么玩 新手前期玩法介绍
  19. 激人奋进的七个经典故事
  20. partition X does not end on cylinder boundary

热门文章

  1. CB:南土所梁玉婷组-细菌群落的高稳定性和代谢能力促进了土壤中易分解碳的快速减少...
  2. Gut:人体最初的微生物起源与生殖健康
  3. Nat Rev Genet发表房刚组细菌表观组综述论文
  4. 如何用FAPROTAX预测微生物群落功能
  5. 湖南中医药大学计算机刘伟老师,喜讯 | 湖南中医药大学在全省高校教师课堂教学竞赛中喜获佳绩...
  6. R语言构建文本分类模型并使用LIME进行模型解释实战:文本数据预处理、构建词袋模型、构建xgboost文本分类模型、基于文本训练数据以及模型构建LIME解释器解释多个测试语料的预测结果并可视化
  7. Error in eval(predvars, data, env) : object ‘**‘ not found
  8. R语言Fine-Gray竞争风险模型实战
  9. R语言If、Else条件语句实战
  10. 使用R构建随机森林回归模型(Random Forest Regressor)