使用 ALTER SECURITY LABEL COMPONENT 语句向当前数据库中的一个现有的安全标签构件中添加一个或多个元件。该语句是 SQL ANSI/ISO 标准的扩展。
只有 DBSECADM 可以声明 ALTER SECURITY LABEL COMPONENT 语句,此语句定义现有安全标签构件的新元件。新的元件称为定义在引用指定构件的 CREATE SECURITY POLICY 语句中的安全策略的一部分。
一个安全标签构件由不多于 64 个 elements 的集合组成,它们由 CREATE SECURITY LABEL COMPONENT 语句定义为字符串常量。每个字符串常量不多于 32 字节,而且必须在该构件的元件中是唯一的。每个元件的声明(是构件具有的有效值)定义数据的敏感度的类别。通过向现有构件中添加新的元件,ALTER SECURITY LABEL COMPONENT 语句扩展了构件在包含该成分的安全策略内或在支持安全策略的安全标签内的可具有的值的设定。
此语句可以定义一个安全标签构件的新元件,但是不能修改或伤处现有的元件。如果安全设计变更,以致于需要不同的元件,那么 DBSECADM 可以添加新的元件(如果元件的总数量保持在大小和基数的限制内,且不使用包含在该构件中的定义的表中的任何过时的元件)。
或者, DBSECADM 可以使用 DROP SECURITY LABEL COMPONENT 元件删除此构件,然后使用 CREATE SECURITY LABEL COMPONENT 元件重新定义新的构件,新的构件只包含必须的元件。然而,如果此构件是现有安全策略的一部分,则您不能删除此安全构件。有关删除安全标签构件和其它 GBase 8s 安全对象的限制,请参阅 DROP SECURITY 语句 。
要添加新元件的安全标签构件必须是三种构件类型之一。跟随在 component 名称之后的 ARRAY 、SET 或 TREE 关键字指定的构件类型必须与最初定义构件时 CREATE SECURITY LABEL COMPONENT 语句指定的构件类型相同。指定元件的新列表依赖于该指定的构件是否为 ARRAY 、SET 或 TREE 类型,这三种类型是 GBase 8s 支持的三种安全构件的类型。