点击蓝字关注我吧

本文介绍了如何使用注解(Annotations)来记录 Oracle 数据库 23c 中的数据库对象。
重点是什么?
我们可以将注解视为数据库注释(comments)的扩展。通过注解,我们能够向表和列等对象添加自由文本,从而使我们能够描述它们的目的和用法。注解更进一步,允许我们将名称-值对与大多数数据库对象相关联,这可以用来描述或分类它们。名称和值是自由文本,因此我们可以选择任何对我们有意义的内容。
您可能会看到被描述为“应用程序使用注解”的注解。这只是强调注解是为了帮助您的应用程序的文档。
使用注解
如果对象支持注解,则注解子句通常遵循此格式。
ANNOTATIONS ( {ADD|DROP} annotation_name {'annotation_value'} {,} )
这是向表添加注解的简单示例。请注意,在添加这些注解时,我们不使用可选的 ADD 关键字。
create table fruit (id number annotations (SurrogateKey, UI_Display 'Fruit ID', Classification 'Fruit Info'),name varchar2(50) annotations (UI_Display 'Fruit Name', Classification 'Fruit Info'),description varchar2(50) annotations (UI_Display 'Description', Classification 'Fruit Info'))annotations (UI_Display 'Fruit Table', Classification 'Fruit Info');
让我们依次看一下。
SurrogateKey :此注解告诉我们该列是代理键。请注意,此注解没有任何价值,因为名称足以提供含义。
UI_Display :此注解给出了任何 UI 中的首选显示名称。
Classificaton:此注解允许我们对存在的信息类型进行分类。在本例中,我们将其分类为“Fruit Info”。
请记住,所有这些注解都只是我们编写的自由文本。除了我们与它们相关的含义之外,它们对数据库或任何工具都没有任何意义。如果我们在键名中需要空格,我们必须用双引号将它们引起来。保留字也是如此。
我们可以通过添加或删除注解来修改注解。在这些示例中,我们在不使用可选 ADD 关键字的情况下向表中添加新注解,使用 DROP 关键字删除该注解,然后再次添加它,这次使用可选 ADD 关键字。
alter table fruit annotations (Visibility 'Everyone');alter table fruit annotations (drop Visibility);alter table fruit annotations (add Visibility 'Everyone');
我们可以对列级注解执行类似的操作。
alter table fruit modify (id annotations (Visibility 'Hidden'));alter table fruit modify (id annotations (drop Visibility));alter table fruit modify (id annotations (add Visibility 'Hidden'));
视图
有两个与注解相关的主要视图。它们是 USER_ANNOTATIONS 和 USER_ANNOTATIONS_USAGE 视图,但您可能只会使用 USER_ANNOTATIONS_USAGE 视图。
set linesize 150column object_name format a12column object_type format a12column column_name format a12column domain_name format a12column domain_owner format a12column annotation_name format a14column annotation_value format a20select object_name,object_type,column_name,domain_name,domain_owner,annotation_name,annotation_valuefrom user_annotations_usageorder by annotation_name, annotation_value;OBJECT_NAME OBJECT_TYPE COLUMN_NAME DOMAIN_NAME DOMAIN_OWNER ANNOTATION_NAM ANNOTATION_VALUE------------ ------------ ------------ ------------ ------------ -------------- --------------------FRUIT TABLE ID CLASSIFICATION Fruit InfoFRUIT TABLE DESCRIPTION CLASSIFICATION Fruit InfoFRUIT TABLE NAME CLASSIFICATION Fruit InfoFRUIT TABLE CLASSIFICATION Fruit InfoFRUIT TABLE ID SURROGATEKEYFRUIT TABLE DESCRIPTION UI_DISPLAY DescriptionFRUIT TABLE ID UI_DISPLAY Fruit IDFRUIT TABLE NAME UI_DISPLAY Fruit NameFRUIT TABLE UI_DISPLAY Fruit TableFRUIT TABLE VISIBILITY EveryoneFRUIT TABLE ID VISIBILITY Hidden11 rows selected.SQL>
北纬36度线上的神奇的小城——诸城 诸城方言 自制数字人播报视频 信息系统项目管理师学习笔记(一) Oracle 23c 中列默认值定义为 DEFAULT ON NULL FOR INSERT AND UPDATE Oracle 数据库中的数据质量运算符 在Sybase的Syslogs中我怎么确定Secondary Truncation Point OGG将Oracle的Number数据类型映射为Sybase的Timestamp或者Varbinary 数据类型 Oracle 23c 中的 DBMS_HCHECK 包 在这个喧嚣的世界里,我们都是匆匆过客 如果有一天我不在了(AI音乐创作) OpenAI推出Sora:用AI生成高清视频的魔法工具 香港自由行-游记 软考高项学习笔记 | 一文概括高项49个项目管理过程主要知识点 Oracle Control File中的SECTION NUMBERS什么意思? Windows下Oracle的systimestamp函数的最高精度问题 Oracle Adaptive Plans新特性的个人理解

喜欢就点"在看"哦~




