使用 DROP SECURITY 语句从当前数据库中删除现有的安全对象。此对象可以是安全策略、安全标签或安全标签组件。
该语句是 SQL ANSI/ISO 标准的扩展。
没有 SQL 语句可以在不会破坏整个组件的情况下选择性地删除安全标签组件的某些元素。要从数据库中只删除安全标签组件的一部分元素,DBSECADM 可以使用 DROP SECURITY LABEL COMPONENT 语句删除组件,然后使用 CREATE SECURITY LABEL COMPONENT 语句重新定义删除的子句,但不包括任何不再需要的元素。(另一种方法是删除包含已弃用元素的所有安全标签,然后使用 CREATE SECURITY LABEL 语句重新定义具有已删除标签相同的组件的新标签,但不包含这些元素。在这种情况下,已弃用的元素将保留在数据库中,但是没有安全标签会将它们用作组件的值。)
如果您包含了可选的 IF EXISTS 关键字,则如果在当前数据库中未注册指定的安全对象类型和指定名称的安全对象,则数据库服务器不会执行任何操作(而不是向应用程序发送异常)。
DROP SECURITY LABEL witty;如果有列被 witty 标签保护或者有用户持有此标签,则该语句失败。
DROP SECURITY LABEL COMPONENT adhesive;如果安全策略取决于 adhesive 安全标签组件,则该语句失败。
DROP SECURITY POLICY best CASCADE;如果该策略正在包含任何表,则该语句失败。但是,如果该语句成功,则因为 CASCADE 规范它会产生以下附加的影响: