GaussDB-CREATE RESOURCE LABEL
功能描述
CREATE RESOURCE LABEL语句用于创建资源标签。
注意事项
只有POLADMIN、SYSADMIN或初始用户能正常执行此操作。
语法格式
| ``` CREATE RESOURCE LABEL [IF NOT EXISTS] label_name ADD label_item_list[, ...];
| ------------------------------------------------------------------------------------- |

- label_item_list:
| ```
resource_type(resource_path[, ...])
``` |
| -------------------------------------------- |

- resource_type:
```
{ TABLE | COLUMN | SCHEMA | VIEW | FUNCTION }
```

#### 参数说明
- **IF NOT EXISTS**
如果已经存在相同名称的资源标签,不会抛出错误,而是发出一个通知,告知此资源标签已存在。
<!---->
- **label_name**
资源标签名称,创建时要求不能与已有标签重名。
取值范围:字符串,要符合[标识符命名规范](https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/devg-dist/gaussdb-12-0321.html#ZH-CN_TOPIC_0000001865746364__zh-cn_topic_0000001704458709_section14873217506)。
- **resource_type**
指的是要标记的数据库资源的类型。
取值范围:表(TABLE)、列(COLUMN)、模式(SCHEMA)、视图(VIEW)、函数(FUNCTION)。
- **resource_path**
指的是描述具体的数据库资源的路径。
#### 示例
| ```
--创建一个表tb_for_label。 gaussdb=# CREATE TABLE tb_for_label(col1 text, col2 text, col3 text); --基于表创建资源标签。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS table_label add TABLE(public.tb_for_label); --再次创建已存在的表资源标签,对比加参数IF NOT EXISTS与不加IF NOT EXISTS参数的区别。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS table_label add TABLE(public.tb_for_label); NOTICE: table_label label already defined, skipping CREATE RESOURCE LABEL gaussdb=# CREATE RESOURCE LABEL table_label add TABLE(public.tb_for_label); ERROR: table_label label already defined --基于列创建资源标签。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS column_label add COLUMN(public.tb_for_label.col1); --创建一个模式schema_for_label。 gaussdb=# CREATE SCHEMA schema_for_label; --基于模式创建资源标签。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS schema_label add SCHEMA(schema_for_label); --创建一个视图view_for_label。 gaussdb=# CREATE VIEW view_for_label AS SELECT 1; --基于视图创建资源标签。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS view_label add VIEW(view_for_label); --创建一个函数func_for_label。 gaussdb=# CREATE FUNCTION func_for_label RETURNS TEXT AS $$ SELECT col1 FROM tb_for_label; $$ LANGUAGE SQL; --基于函数创建资源标签。 gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS func_label add FUNCTION(func_for_label); --删除表资源标签table_label。 gaussdb=# DROP RESOURCE LABEL IF EXISTS table_label; --删除列资源资源标签column_label。 gaussdb=# DROP RESOURCE LABEL IF EXISTS column_label; --删除函数资源标签func_for_label。 gaussdb=# DROP FUNCTION func_for_label; --删除视图资源标签view_for_label。 gaussdb=# DROP VIEW view_for_label; --删除模式资源标签schema_for_label。 gaussdb=# DROP SCHEMA schema_for_label; --删除表tb_for_label。 gaussdb=# DROP TABLE tb_for_label;
``` |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
#### 相关链接
[ALTER RESOURCE LABEL](https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/devg-dist/gaussdb-12-0499.html#ZH-CN_TOPIC_0000001911666445),[DROP RESOURCE LABEL](https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/devg-dist/gaussdb-12-0610.html#ZH-CN_TOPIC_0000001911586541)。
更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>