达梦数据库中注释的使用

在管理规模较大的数据库时,我们往往需要面对大量的表与视图,与此同时在表与视图中可能会存在着许多的字段,让人难以迅速分辨,不利于对于数据库对象的管理。除了在命名时,对于有意义的表、视图及列,应尽量赋予具有意义、容易分辨的名称之外,对于数据库对象添加注释也是一个帮助我们管理数据库的有效办法。

在DM中添加注释可以用注释语句 – “COMMENT ON <对象名称> IS <注释字符串>”。用户可以对于自己拥有的模式下的对象创建注释,可以针对整张表或视图做注释,也可以对于各列进行注释。例如对于已有的表添加注释,语法示例如下:

comment on table TEST.T1 is '这是表注释';

对于视图进行注释,需要将语句中关键字table替换为view。而对于表中列添加注释,则需要将关键字table替换为column,再将添加表注释时的对象换为列名。例如在TEST模式下的T1表中ID列上添加注释,语法示例如下:

comment on column TEST.T1.ID is '这是一个列注释';

利用DM管理工具,可以在创建表的时候就把注释一起添加上,示例如下:

通过添加注释,用户可以对于各个对象添加需要备注的信息,而对于注释的修改,实现方式和添加注释时一样。

comment on table TEST.T1 is '这是又一个表注释';

通过相同方式对于同一个表进行注释操作,即可将该表的注释进行更新。对于注释更新之后,我们可以通过系统表SYSTABLECOMMENTS对于进行查询。

select * from SYSTABLECOMMENTS where SCHNAME='TEST' and TVNAME='T1';

 从查询结果看,TEST模式下的T1表的表注释已经被修改成功。SYSTABLECOMMENTS中包含有各模式下的表或视图的注释,SCHNAME为模式名,TVNAME为表或视图的名称,而TABLE_TYPE指定了对象类型为表或者视图,COMMENT$字段即为注释的具体内容。

若需要更新的注释内容中含有单引号,则需要将内容中单引号后面再添加一个单引号。例如,将T1表的注释修改为:这是一个’表’注释。

comment on table TEST.T1 is '这是一个''表''注释';

select * from SYSTABLECOMMENTS where SCHNAME='TEST' and TVNAME='T1';

对于表或视图中的字段注释进行查询可以参考系统表SYSCOLUMNCOMMENTS。

select * from SYSCOLUMNCOMMENTS;

由于在当前数据库中只有一条列注释,在结果显示中即为TEST模式下T1表中ID列的注释。相比查询表注释的结果,多出的字段COLNAME表明了列名。

前面对于注释的更新操作,实际上是通过语句新建的注释覆盖掉了原有的注释信息。而同样为了删除掉列上的注释,可以将COMMENT语句的值赋给’’,从而达到删掉原注释信息的效果。在利用这种方式将注释去掉后,系统表SYSCOLUMNCOMMENTS中该列的记录并不会消失。示例如下:

comment on column TEST.T1.ID is '';

select * from SYSCOLUMNCOMMENTS where SCHNAME='TEST' and TVNAME='T1' and COLNAME='ID';

通过查询数据字典ALL_COL_COMMENTS同样可以查找到关于当前用户的环境下具有访问权限的对象中列的注释信息。

select * from ALL_COL_COMMENTS where OWNER='TEST';

在该查询结果中会包含可以访问的所有列的注释情况,其中包含OWNER即所有者用户,TABLE_NAME、SCHEMA_NAME、COLUMN_NAME分别对应标明、模式名与列名,而COMMENTS列即为注释信息。未添加过注释的列,其COMMENT值为空值“NULL”。对于表注释,相应的也可以通过查询ALL_COL_COMMENTS来查找。

select * from ALL_COL_COMMENTS where OWNER='TEST';

对于某些特定场景下需要将注释重建,则可以通过SQL语句将原注释内容以语句形式保存下来便于以后能批量执行进行添加。对于前面提到的注释内容含有单引号的记录,在以语句进行保存时需要将单引号的部分考虑在内,方便重建时语句的执行。

select 'comment on table '||t.SCHNAME||'.'||t.TVNAME||' is '''||replace(t.COMMENT$,'''','''''')||''';' as COMMENTS_BAK from systablecomments t where t.TABLE_TYPE='TABLE' and t.SCHNAME not in ('SYS')

union

select 'comment on view '||v.SCHNAME||'.'||v.TVNAME||' is '''||replace(v.COMMENT$,'''','''''')||''';' from systablecomments v where v.TABLE_TYPE='VIEW' and v.SCHNAME not in ('SYS')

union

select 'comment on column '||c.SCHNAME||'.'||c.TVNAME||'.'||c.COLNAME||' is '''||replace(c.COMMENT$,'''','''''')||''';' from syscolumncomments c where c.SCHNAME not in ('SYS');

这样可以将需要保存的注释以SQL语句留存下来,在需要重建时直接执行即可。

以上就是对于DM中有关注释各方面的一点分享。灵活充分的运用注释,可以在面对大量的庞杂的对象结构时更好的对于数据库进行管理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/15728.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

你可能需要的IDEA-Java开发插件

Idea开发插件 Alibaba Cloud AI Coding Assistant 阿里云智能编码插件&#xff08;Alibaba Cloud AI Coding Assistant&#xff09;是一款AI编程助手&#xff0c;它提供代码智能补全和代码示例搜索能力&#xff0c;帮助你更快更高效地写出高质量代码。 让我觉得比较有意思的…

CentOS防火墙的常用快捷命令

CentOS是免费开源的Linux发行版之一,它兼容RHEL并由社区进行维护,大多数美国服务器提供对该系统支持。在使用CentOS系统时,您需要了解一些常用命令,比如开启、查看、关闭防火墙等。本文将介绍下CentOS防火墙的常用命令。 CentOS是一种面向企业级服务器环境的Linux发行版,…

直击德国PLS展,联诚发倾力打造沉浸式视觉盛宴!

当地时间4月25-28日&#xff0c;备受关注的2023德国法兰克福国际专业灯光音响展ProlightSound&#xff08;以下简称“PLS展”&#xff09;在德国法兰克福盛大召开。联诚发携多款创新产品及多领域的应用解决方案精彩亮相&#xff0c;为全球客户打造沉浸式视觉盛宴&#xff0c;展…

JavaScript详解

一、前置知识 1.1第一个JS程序 JavaScript 代码可以嵌入到 HTML 的 script 标签中。 1.2JS书写格式 1.2.1行内样式 直接嵌入到html元素内部 1.2.2内嵌格式 1.2.3外部格式 注意这种情况下&#xff0c;script标签中间不能写任何代码&#xff0c;必须空着&#xff0c;就算…

java内存占用过大分析,mat内存快照分析

背景 最近功能模块上线后&#xff0c;生产内存占用显著提升&#xff0c;查看gc日志发现年轻代频繁从2G回收到60M左右&#xff0c;猜测是在方法中频繁创建大对象导致&#xff0c;由于一时间无法通过review代码找出问题所在&#xff0c;只好将生产jvm内存快照dump后通过java mem…

HCIA-RS实验-STP和RSTP(2)

接上一篇文章&#xff1b;其他的不多说&#xff0c;新建一个新的配置设备&#xff1b;如果接上一个实验的配置的话&#xff0c;建议先把所有配置删除后再执行&#xff1b;新的拓扑也与上一个实验一致&#xff1b; 目录 创建新配置 配置RSTP 查看stp版本 配置边缘端口 …

深度学习 GNN图神经网络(四)线性回归之ESOL数据集水溶性预测

线性回归之ESOL数据集水溶性预测 一、前言二、ESOL数据集三、加载数据集四、数据拆分五、构造模型六、训练模型七、测试结果八、分类问题参考文献 一、前言 本文旨在使用化合物分子的SMILES字符串进行数据模型训练&#xff0c;对其水溶性的值进行预测。 之前的文章《深度学习…

vue - pc端实现对div的拖动功能

实现对div的拖动功能&#xff0c;需要先要知道以下的一些原生事件和方法&#xff1b; 1&#xff0c;事件: 方法描述onmousedown鼠标按钮被按下onmousemove鼠标被移动onmouseup鼠标按键被松开 2&#xff0c;方法: 方法描述event.clientX返回当事件被触发时鼠标指针相对于浏览…

02 【Sass语法介绍-变量】

sass有两种语法格式Sass(早期的缩进格式&#xff1a;Indented Sass)和SCSS(Sassy CSS) 目前最常用的是SCSS&#xff0c;任何css文件将后缀改为scss&#xff0c;都可以直接使用Sassy CSS语法编写。 所有有效的 CSS 也同样都是有效的 SCSS。 Sass语法介绍-变量 1.前言 Sass …

【VM服务管家】VM4.0平台SDK_2.5 全局工具类

目录 2.5.1 全局相机&#xff1a;全局相机设置参数的方法2.5.2 全局相机&#xff1a;获取全局相机列表的方法2.5.3 全局通信&#xff1a;通信管理中设备开启状态管理2.5.4 全局通信&#xff1a;接收和发送数据的方法2.5.5 全局变量获取和设置全局变量的方法 2.5.1 全局相机&…

2023-4-27-深入理解C++指针类型间强制转换

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

记一次峰回路转的注入

0X01 背景 自己之前写过一篇记录&#xff0c;当时是由于之前是一位校友刚做开发&#xff0c;叫我友情帮忙测试一波&#xff0c;由于是开发的新手&#xff0c;漏洞比较多&#xff0c;所以直接从注入开始讲起&#xff0c;但是到getshell的过程也算是一场峰回路转再跌跌撞撞的路程…

【Java笔试强训 17】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525;杨辉三角…

洞见数字时代的创新原力,数云原力大会暨2023TECH第五届数字中国技术年会开幕

4月25日&#xff0c;神州控股、神州信息、神州数码集团共同主办的数云原力大会暨2023TECH第五届数字中国技术年会开幕。开幕式上&#xff0c;数百位投身并关注数字技术、数字产业发展的学者、技术专家、从业者、行业用户齐聚一堂&#xff0c;围绕云原生、数字原生、大数据、金融…

这一次,让Kotlin Flow 操作符真正好用起来

前言 Kotlin Flow 如此受欢迎大部分归功于其丰富、简洁的操作符&#xff0c;巧妙使用Flow操作符可以大大简化我们的程序结构&#xff0c;提升可读性与可维护性。 然而&#xff0c;虽然好用&#xff0c;但有些操作符不太好理解&#xff0c;可惜的是网上大部分文章只是简单介绍其…

吴恩达 Chatgpt prompt 工程--1.Guidelines

课程链接 Setup #安装 !pip install openai#设置key !export OPENAI_API_KEYsk-... # or #import openai #openai.api_key "sk-..."import openai import osfrom dotenv import load_dotenv, find_dotenv _ load_dotenv(find_dotenv())openai.api_key os.geten…

记一次SSRF漏洞的学习和利用

导语&#xff1a;本文主要记录一次我们在复盘嘶吼网站渗透报告时遇到的一个SSRF漏洞。 1.前言 本文主要记录一次我们在复盘嘶吼网站渗透报告时遇到的一个SSRF漏洞。此漏洞并结合腾讯云的API接口&#xff0c;可以获取大量嘶吼服务器的敏感信息。利用这些敏感信息&#xff0c;又…

android10 关闭默认输入法的“更正建议”

1. 场景 使用系统默认的输入法&#xff0c;在进行输入时&#xff0c;在输入法上方&#xff0c;会显示更正建议列表&#xff0c;同时会干扰我们的输入内容&#xff1a;会自动补全到输入框&#xff0c;而且删除不掉&#xff0c;甚至越删越多&#xff0c;非常讨厌。 如下&#x…

一段凄惨Android 面试经历分享,败在了项目架构原理上……

大家应该看过很多分享面试成功的经验&#xff0c;但根据幸存者偏差的理论&#xff0c;也许多看看别人面试失败在哪里&#xff0c;对自己才更有帮助。 这是一位网友分享的面试经历&#xff0c;他准备了3个月&#xff0c;刚刚参加完字节跳动的第三面&#xff0c;视频面&#xff…

都23年了你还记得渐进式框架是什么意思吗

vue 文章目录 vue前言一、眼见为实举个栗子二、渐进式的优势 前言 渐进式框架是一种能够逐步增强应用功能的框架&#xff0c;它允许开发者在不影响应用性能的情况下&#xff0c;逐步添加新的功能和特性。Vue.js提供了一些基础功能&#xff0c;如数据绑定和组件化&#xff0c;然…