GaussDB-CREATE RESOURCE LABEL

40 阅读2分钟

GaussDB-CREATE RESOURCE LABEL

功能描述

CREATE RESOURCE LABEL语句用于创建资源标签。

注意事项

只有POLADMIN、SYSADMIN或初始用户能正常执行此操作。

语法格式

| ``` CREATE RESOURCE LABEL [IF NOT EXISTS] label_name ADD label_item_list[, ...];

| ------------------------------------------------------------------------------------- |

![](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/fd733254c2b2450d96fd0aef9a361501~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgamVycnl3YW5nMTk4Mw==:q75.awebp?rk3s=f64ab15b&x-expires=1775114632&x-signature=Hh8F%2BB7Kd4%2FIR3Y%2FLr0kSvktlI8%3D)

-   label_item_list:

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

    ![](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/dcda9d1624854aaaa06ca7358f49816c~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgamVycnl3YW5nMTk4Mw==:q75.awebp?rk3s=f64ab15b&x-expires=1775114632&x-signature=IAGyvjoVQ1Rq7KPeYmrL1lE85c0%3D)

-   resource_type:

    ```
    { TABLE | COLUMN | SCHEMA | VIEW | FUNCTION }
    ```

    ![](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/e8acf7013a284a09a992eb4014aefc3e~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgamVycnl3YW5nMTk4Mw==:q75.awebp?rk3s=f64ab15b&x-expires=1775114632&x-signature=C1GRYr49Q0v1uElMCxygHfeZCF4%3D)

#### 参数说明

-   **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>