oracle 23ai对象注释新特性ANNOTATIONS
我们知道以前数据库版本注释方式是用COMMENT,如下
COMMENT ON COLUMN 表名.字段名 IS '字段注释';
oracle 23ai对象注释有新增了ANNOTATIONS,比如创建如下表:
SQL> create table test.t_user(
id number,
name varchar(200) ANNOTATIONS (name '员工姓名',limits '中文姓名'),
age int ANNOTATIONS (age '员工年龄')
) ANNOTATIONS (t_user '这是一张表对象');
可以通过dba_annotations_usage、dba_annotation_values查出注释内容
SQL> select object_name,column_name,annotation_owner,annotation_value from dba_annotations_usage where annotation_owner='TEST';
OBJECT_NAME COLUMN_NAME ANNOTATION_OWNER ANNOTATION_VALUE
-------------------- ------------------------------ -------------------- -------------------------------------
T_USER TEST 这是一张表对象
T_USER NAME TEST 中文姓名
T_USER NAME TEST 员工姓名
T_USER AGE TEST 员工年龄
SQL> select * from dba_annotation_values where annotation_owner='TEST';
ANNOTATION_OWNER ANNOTATION_NAME ANNOTATION_VALUE
-------------------- -------------------- ----------------------------------------------------------------
TEST T_USER 这是一张表对象
TEST NAME 员工姓名
TEST LIMITS 中文姓名
TEST AGE 员工年龄
注释格式
ANNOTATIONS ( {ADD|DROP} annotation_name {'annotation_value'} {,} )
也就是一张表或者一个字段,可以注释多个内容描述,比如上面创建的表
name列做了两个标注,一个标注name 是员工姓名,另外一个标注limits限制中文姓名,当然标注的value可以不写