COMMENT ON

说明

定义或者改变一个对象的注释

语法

comment_on ::=

aggregate ::=

table ::=

relation ::=

domain ::=

function ::=

procedure ::=

index ::=

operator ::=

sequence ::=

type ::=

view ::=

mview ::=

参数

aggregate_name, table_name, column_name, constraint_name, database_name, domain_name, function_name, procedure_name, index_name, operator_name, argument_name, schema_name, sequence_name, trigger_name, type_name, view, mview_name

要加入注释的对象名称

text

要加入的注释

NULL

如果已经对对象加注释,则删除该注释。否则什么也不做。

注解

利用注释可以对对象作简要说明。

每个对象只能存储一条注释。新的 COMMENT 命令将覆盖原注释。

在文本字串的位置写上 NULL将删除注释。

删除对象时注释自动被删除。

注释依赖于sys_description系统表,所有的注释内容都会存放在这张系统表中。

COMMENT ON TYPE和COMMENT ON DOMAIN功能是一样的,都可以用于内置类型和域类型。

对类型添加注释时要使用存在于sys_type表中类型名,不能使用类型的别名。比如为4字节整数类型添加注释时应当使用INT4,而不能使用INTEGER。有些类型名称是神通数据库的关键字,使用时需要加上双引号,如COMMENT ON TYPE “CHAR” IS NULL;

示例

示例1: 添加、删除注释(以表为例)

--  清理环境
DROP TABLE tab1 CASCADE;

--  创建表
CREATE TABLE tab1 (a INT);


--  添加注释
COMMENT ON TABLE tab1 IS 'It is table tab1!';

--  删除注释
COMMENT ON TABLE tab1 IS NULL;


--  删除表
DROP TABLE tab1;

示例2: 添加、删除注释(以视图触发器为例)

--  清理环境
DROP TABLE tab3 CASCADE;
DROP TABLE tab4 CASCADE;

--  创建表
CREATE TABLE tab3(t3a INT);
CREATE TABLE tab4(t4b INT);

--  创建视图
CREATE VIEW view3 AS SELECT t3a AS v3a,t4b AS v3b FROM tab3,tab4;

--  创建触发器
CREATE TRIGGER trg3 INSTEAD OF UPDATE ON view3 FOR EACH ROW
BEGIN
    UPDATE tab3 SET t3a =: NEW.v3a + 1;
    UPDATE tab4 SET t4b =: NEW.v3b + 2;
END;
/

--  添加注释
COMMENT ON TRIGGER trg3 ON sysdba.view3 IS 'It is trg trg3!';

--  删除注释
COMMENT ON TRIGGER trg3 ON sysdba.view3 IS null;

--  删除表
DROP TABLE tab3 CASCADE;
DROP TABLE tab4 CASCADE;