mysql 存储过程怎么多行注释_数据库通过存储过程批量添加注释(模板为oracle)...
在操作数据库时,我们时常需要给数据库中的表名以及字段名添加注释,如果去写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)...相关推荐
- Mysql存储过程名规则_数据库对象命名规范一(原则、命名、 表、视图、存储过程、函数、触发器命名规范)...
命名规范是指数据库对象如数据库(SCHEMA).表(TABLE).索引(INDEX).约束(CONSTRAINTS)等的命名约定. 1. 原则命名使用具有意义的英文词汇,词汇中间以下划线分隔. 命名只 ...
- pb 执行存储过程带参数_数据库存储过程
1. 存储过程的类型: (1) 用户自定义存储过程 自定义存储过程即用户使用T_SQL语句编写的.为了实现某一特定业务需求,在用户数据库中编写的T_SQL语句集合,自定义存储过程可以接受输入参数.向客 ...
- dapper 调用 存储过程返回值_数据库事务、存储过程、函数以及触发器之间的区别和联系...
一.[事务概念] 事务(Transaction)是指构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行. 1,如果事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前 ...
- MySQL删除空值语句_数据库语句sql 删除空记录
最简单删除SQL Server中所有数据的方法 原文:最简单删除SQL Server中所有数据的方法 最简单删除SQL Server中所有数据的方法 编写人:CC阿爸 2014-3-14 其实 ...
- 【MySQL 第10章_数据库的设计规范】
第10章_数据库的设计规范 1. 为什么需要数据库设计 2.范式 2.1范式简介 2.2范式都包括哪些 2.3 键和相关属性的概念 2.4第一范式(1st NF) 2.5 第二范式(2nd NF) 2 ...
- mysql权限层级体系_数据库mysql有哪些权限?层级有哪些?
我们想要运行一个文件时,有时候会出现只有管理员才能打开这类软件,这就是权限对于用户的限制.那么在我们最近学习的数据库mysql中,也有这样的权限需要我们去注意吗?小编想说当然有,而且还不少!今天就数据 ...
- mysql双机互备linux成功的_配置MySQL双机热备 - Linux服务器MySQL双机热备份试验_数据库技术_Linux公社-Linux系统门户网站...
二.配置MySQL双机热备 传统模式都是采用MySQL双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档.故我的一个想法产生了:当建立新的数据库时,默认会建立到/usr/local/m ...
- mysql打错了怎么办_数据库出错了怎么办?
下面是网上收集的多种方法,大家可以测试下. (一) 昨晚浏览自己的Blog的时候,突然发现所有页面都无法显示,到后台查看的时候,发现一个"Table 'xxx' is marked as c ...
- mysql dbms是什么_数据库管理系统(DBMS)是用来做什么的?
展开全部 数据库管理系统(database management system)是一种操纵和32313133353236313431303231363533e58685e5aeb93133326235 ...
最新文章
- C语言中字符型在计算机中的存储
- 数据分析学习02-numpy
- matlab 计算N天前(后)的日期
- java线程——中断线程+线程状态+线程属性(优先级)
- java 并发锁_Java并发教程–重入锁
- Eclipse中单元测试
- python获取股票数据_python根据股票代码获取当前数据
- 新颖的自我介绍_公众场合,如何做一个吸睛的自我介绍?
- 【selenium学习笔记一】python + selenium定位页面元素的办法。
- X大佬:建议被降级降薪员工主动辞职,网友炸了
- composer全局 linux_Linux下全局安装composer方法
- 企业权限管理系统如何配置?深度解析永洪BI权限管理系统
- 计算机中毒后开机变慢,电脑中毒后运行慢的解决方法
- 电脑取消撤销快捷键是什么_删除的快捷键是什么?电脑删除的快捷键在哪?
- 腾讯qq的授权管理查看页面
- 协同创新 强省惠民 | 山东省数据应用创新创业大赛主赛场等你来战
- 【牛尔】【小p】这些美容强男的超级秘籍!!!丝般肌肤毛孔看不见,清透小面颊,丝滑小脸蛋儿,你难道不想拥有吗————【收缩毛孔的最佳方法】(一夜之间6万浏览量,大师的感召力和信服力就是强啊!)
- 手机计算机怎么玩24点游戏,计算器游戏怎么玩 新手前期玩法介绍
- 激人奋进的七个经典故事
- partition X does not end on cylinder boundary
热门文章
- CB:南土所梁玉婷组-细菌群落的高稳定性和代谢能力促进了土壤中易分解碳的快速减少...
- Gut:人体最初的微生物起源与生殖健康
- Nat Rev Genet发表房刚组细菌表观组综述论文
- 如何用FAPROTAX预测微生物群落功能
- 湖南中医药大学计算机刘伟老师,喜讯 | 湖南中医药大学在全省高校教师课堂教学竞赛中喜获佳绩...
- R语言构建文本分类模型并使用LIME进行模型解释实战:文本数据预处理、构建词袋模型、构建xgboost文本分类模型、基于文本训练数据以及模型构建LIME解释器解释多个测试语料的预测结果并可视化
- Error in eval(predvars, data, env) : object ‘**‘ not found
- R语言Fine-Gray竞争风险模型实战
- R语言If、Else条件语句实战
- 使用R构建随机森林回归模型(Random Forest Regressor)