范围
范围,也称为类别。在相同密级下,用于对数据的业务进行更细的划分。
说明
目前,范围管理只适用于 KaiwuDB 关系库和关系表。
创建范围
CREAT COMPARTMENT
语句用于创建范围。
所需权限
- 非三权分立模式下,用户是
admin
角色的成员。默认情况下,root
用户属于admin
角色。 - 三权分立模式下,用户是
secadmin
角色的成员。默认情况下,secroot
用户属于secadmin
角色。
语法格式
参数说明
参数 | 说明 |
---|---|
compartment_name | 待创建的范围的名称。该名称在数据库中必须唯一,且遵循数据库标识符规则。范围名称不支持使用冒号(: )和逗号(, )。 |
语法示例
以下示例创建一个名为 comp1
的范围。
CREATE COMPARTMENT comp1;
查看范围
SHOW COMPARTMENTS
语句用于查看所有范围。
所需权限
无
语法格式
参数说明
无
语法示例
以下示例查看数据库的所有范围。
SHOW COMPARTMENTS;
执行成功后,控制台输出以下信息:
name
---------
comp1
comp2
(2 rows)
删除范围
DROP COMPARTMENT
语句用于删除范围。每条语句支持删除一个范围。
说明
如果标记定义中已经引用目标范围,KaiwuDB 不支持删除该范围。
所需权限
- 非三权分立模式下,用户是
admin
角色的成员。默认情况下,root
用户属于admin
角色。 - 三权分立模式下,用户是
secadmin
角色的成员。默认情况下,secroot
用户属于secadmin
角色。
语法格式
参数说明
参数 | 说明 |
---|---|
IF EXISTS | 可选关键字。 当使用 IF EXISTS 关键字时,如果目标范围存在,系统删除目标范围。如果目标范围不存在,系统删除目标范围失败,但不会报错。当未使用 IF EXISTS 关键字时,如果目标范围存在,系统删除目标范围。如果目标范围不存在,系统报错,提示目标范围不存在。 |
compartment_name | 待删除范围的名称。 |
语法示例
以下示例删除一个名为 comp1
的范围。
DROP COMPAERTMENT comp1;