对象类型表的列上的oracle注解

fivyi3re  于 2023-03-07  发布在  Oracle
关注(0)|答案(3)|浏览(91)

我有一个对象类型

create or replace type header_o as object(
col1 number, 
col2 number, 
col3 number);

然后创建表

create table tab1(
id number, 
header header_o);

因此我想对header.col1发表一些评论
当我尝试

comment on column tab1.header.col1 is 'comment goes here';

oracle引发缺少关键字。
我该怎么做呢?

qnyhuwrf

qnyhuwrf1#

对象类型表的列上的oracle注解
不,您不能。Oracle不支持此功能。
documentation中,您可以将注解添加到:

  • 表、视图或示例化视图
  • 索引类型
  • 操作员

您正在尝试向对象类型添加注解。您可以向表添加注解。
例如,

SQL> CREATE OR REPLACE type header_o
  2  AS
  3    object
  4    (
  5      col1 NUMBER,
  6      col2 NUMBER,
  7      col3 NUMBER)
  8  /

Type created.

SQL> CREATE TABLE tab1
  2    ( ID NUMBER, header header_o
  3    )
  4  /

Table created.

SQL> COMMENT ON COLUMN tab1.HEADER IS 'comment goes here'
  2  /

Comment created.
zlhcx6iw

zlhcx6iw2#

COMMENT语法可以追溯到很久以前,在对象类型出现之前,所以它只支持TABLE.COLUMN
我认为有可能扩展它以支持TABLE.COLUMN.ATTRIBUTE。复杂性在于类型可以从类型构造出来,类型又可以从类型构造出来,等等。这意味着语法的实现会复杂得多。这可能是Oracle没有着手进行它的一个原因。
另一个原因可能是很少有人费心在列或表上添加注解,这可能看起来不值得。
不管怎样,我恐怕这是个更改请求。

nkkqxpd9

nkkqxpd93#

注解列table_name.column_name IS '此处添加注解';

相关问题