
# COMMENT
#### 功能描述
定义或修改一个对象的注释。
#### 注意事项
- 每个对象只存储一条注释，因此要修改一个注释，对同一个对象发出一条新的COMMENT命令即可。要删除注释，在文本字符串的位置写上NULL即可。当删除对象时，注释自动被删除。
- 目前注释浏览没有安全机制，任何连接到某数据库上的用户都可以看到所有该数据库对象的注释。共享对象（比如数据库、角色、表空间）的注释是全局存储的，连接到任何数据库的任何用户都可以看到它们。因此，不要在注释里存放与安全有关的敏感信息。
- 对大多数对象，只有对象的所有者或者被授予了对象COMMENT权限的用户可以设置注释，系统管理员默认拥有该权限。
- 角色没有所有者，所以COMMENT ON ROLE命令仅可以由系统管理员对系统管理员角色执行，有CREATE ROLE权限的角色也可以为非系统管理员角色设置注释。系统管理员可以对所有对象进行注释。
 
#### 语法格式
```
COMMENT ON
{ AGGREGATE func_name ([arg [, ...]])|
COLLATION object_name |
  COLUMN { table_name.column_name | view_name.column_name } |
  CONSTRAINT constraint_name ON table_name |
  DATABASE object_name |
  FUNCTION func_name ([arg [, ...]])|
  INDEX object_name |
  SEQUENCE seq_name |
  USER user_name |
  ROLE object_name |
  SCHEMA object_name |
  TABLE object_name |
  TABLESPACE object_name |
  VIEW object_name |
}
   IS 'text';
```
#### 参数说明
- **func_name**
  函数名。
  
- **arg**
  函数变量。
  
- **user_name**
  取值范围：已存在的用户名，用户名要求详见[•user_name](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0080.html#ZH-CN_TOPIC_0000002527965422__zh-cn_topic_0000002557933339_zh-cn_topic_0000001783205569_zh-cn_topic_0283136891_zh-cn_topic_0237122125_zh-cn_topic_0059778166_l787859d7e0cd43babcd1c035703c3448)。
  
- **object_name**
  对象名。
  
- **table_name.column_name**
  **view_name.column_name**
  列名称。前缀可加表名称或者视图名称。
  
- **constraint_name**
  表约束的名称。
  
- **table_name**
  表的名称。
  
- **text**
  注释。
  
 
#### 示例
```
--建表。
m_db=# CREATE TABLE emp(
    empno varchar(7),
    ename varchar(50),
    job varchar(50),
    mgr varchar(7),
    deptno int
);
--表添加注释。
m_db=# COMMENT ON TABLE emp IS '部门表';
--字段添加注释。
m_db=# COMMENT ON COLUMN emp.empno  IS  '员工编号';
m_db=# COMMENT ON COLUMN emp.ename  IS  '员工姓名';
m_db=# COMMENT ON COLUMN emp.job    IS  '职务';
m_db=# COMMENT ON COLUMN emp.mgr    IS  '上司编号';
m_db=# COMMENT ON COLUMN emp.deptno IS  '部门编号';
--查看表的注释。
m_db=# \d+
 Schema |    Name     |   Type   | Owner |    Size    |             Storage              | Description 
--------+-------------+----------+-------+------------+----------------------------------+-------------
 public | emp         | table    | omm   | 0 bytes    | {orientation=row,compression=no} | 部门表
--查看字段注释。
m_db=# \d+ emp
                                 Table "public.emp"
 Column |         Type          | Modifiers | Storage  | Stats target | Description 
--------+-----------------------+-----------+----------+--------------+-------------
 empno  | character varying(7)  |           | extended |              | 员工编号
 ename  | character varying(50) |           | extended |              | 员工姓名
 job    | character varying(50) |           | extended |              | 职务
 mgr    | character varying(7)  |           | extended |              | 上司编号
 deptno | integer               |           | plain    |              | 部门编号
Has OIDs: no
Options: orientation=row, compression=no, storage_type=USTORE
--删除表emp。
m_db=# DROP TABLE emp;
```
