适用于:
Databricks SQL
Databricks Runtime
删除架构,然后从文件系统中删除与架构关联的目录。 如果系统中不存在该架构,则会引发异常。 若要删除架构,必须具有 MANAGE 对架构或其所有者的权限。
虽然使用 SCHEMA 和 DATABASE 是可互换的,但最好使用 SCHEMA。
语法
DROP SCHEMA [ IF EXISTS ] schema_name [ RESTRICT | CASCADE ]
参数
IF EXISTS
如果已指定此项,则当架构不存在时,不会引发异常。
-
系统中现有架构的名称。 如果该名称不存在,则会引发异常。
RESTRICT
如果已指定此项,将限制删除非空架构,并且这在默认情况下处于启用状态。
CASCADE
如果已指定此项,则以递归方式删除所有关联的表和函数。
Note
在 Unity 目录中,使用
CASCADE软删除架构及其子对象删除架构。 保留托管表和卷的数据文件,以允许 7 天恢复窗口。 恢复窗口结束后,数据文件将在 48 小时内永久删除(清除)。 外部表和外部卷对应的文件不会被删除。 有关详细信息,请参阅 Unity 目录中的对象存储生命周期。警告! 如果架构由工作区级别 Hive 元存储管理,则使用
CASCADE以递归方式删除架构会删除指定位置中的所有文件,而不考虑表类型 (无论是托管还是外部)。
示例
-- Create `inventory_schema` Database
> CREATE SCHEMA inventory_schema COMMENT 'This schema is used to maintain Inventory';
-- Drop the schema and its tables
> DROP SCHEMA inventory_schema CASCADE;
-- Drop the schema using IF EXISTS
> DROP SCHEMA IF EXISTS inventory_schema CASCADE;