取消用户安全标签的示例

下列三个语句分别地创建三个名为 levelcompartmentsgroups 的安全标签组件:
CREATE SECURITY LABEL COMPONENT 
   level ARRAY ['TS','S','C','U'];  

CREATE SECURITY LABEL COMPONENT
   compartments SET {'A','B','C','D'}; 

CREATE SECURITY LABEL COMPONENT
   groups TREE ('G1' ROOT, 
                'G2' UNDER ROOT, 
                'G3' UNDER ROOT);
下列语句基于上述三个组件创建名为 secPolicy 的安全策略:
CREATE SECURITY POLICY secPolicy COMPONENTS 
   level, compartments, groups; 
下列语句创建名为 secLabel1 的安全标签:
CREATE SECURITY LABEL secPolicy.secLabel1 
   COMPONENT level 'S', 
   COMPONENT compartments 'A', 'B', 
   COMPONENT groups 'G2'; 
下列语句将此对读访问的安全标签授予用户 sam
 GRANT SECURITY LABEL secPolicy.secLabel1 
   TO sam FOR READ ACCESS;
下列语句从用户 sam 取消对读访问的安全标签。
 REVOKE SECURITY LABEL secPolicy.secLabel1 
   FROM sam FOR READ ACCESS;

当 REVOKE SECURITY LABEL 语句成功地取消由用户持有了的安全标签时,数据库服务器更新系统目录的 sysseclabelauth 表来从那些持有那个安全标签的用户列表移除该用户。