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;