ALTER SCHEMA

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

通过设置 DBPROPERTIES 更改架构的所有者、设置预测优化行为或更改与架构关联的元数据。 指定的属性值将替代具有相同属性名的任何现有值。

虽然使用 SCHEMADATABASE 是可互换的,但最好使用 SCHEMA

语法

ALTER SCHEMA schema_name
   { SET DBPROPERTIES ( { key = val } [, ...] ) |
    [ SET ] OWNER TO principal
    SET TAGS ( { tag_name = tag_value } [, ...] ) |
    UNSET TAGS ( tag_name [, ...] ) |
    { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION } }

参数

  • schema_name

    要更改的架构的名称。 如果找不到架构,Azure Databricks 会引发 SCHEMA_NOT_FOUND 错误。

  • DBPROPERTIES ( key = val [, …] )

    要设置或取消设置的架构属性。

  • [ SET ] OWNER TO principal

    将架构的所有权转移给 principal

    适用于:check marked yes Databricks SQL SQL 仓库版本 2022.35 或更高版本 check marked yes Databricks Runtime 11.2 及更高版本

    允许使用 SET 作为可选关键字。

  • SET TAGS ( { tag_name = tag_value } [, …] )

    将标记应用于架构。 需要具有 use_schema 才能将标记应用于架构。

    适用于:check marked yes Databricks SQL check marked yes Databricks Runtime 13.3 LTS 及更高版本

  • UNSET TAGS ( tag_name [, …] )

    从架构中删除标记。 需要具有 use_schema 才能从架构中删除标记。

    适用于:check marked yes Databricks SQL check marked yes Databricks Runtime 13.3 LTS 及更高版本

  • tag_name

    一个文本 STRINGtag_name 在架构中必须唯一。

  • tag_value

    文本 STRING

  • { 启用 | 禁用 | 继承 } 预测优化

    适用于:check marked yes Databricks SQL check marked yes Databricks Runtime 12.2 及更高版本 check marked yes 仅 Unity Catalog

    重要

    此功能目前以公共预览版提供。

    将架构更改为所需的预测优化设置。 默认情况下,创建架构时,行为是从目录 INHERIT。 默认情况下,在架构中创建的新对象将从架构继承该设置。

    如果更改架构,则行为将级联到所有继承预测优化的对象。 显式 ENABLEDISABLE 优化预测优化的对象不受架构设置影响。

    若要设置架构的预测优化,用户必须对架构具有 CREATE 权限。

    只有非增量共享中的架构和 Unity Catalog 中的托管目录才有资格进行预测优化。

示例

-- Creates a schema named `inventory`.
> CREATE SCHEMA inventory;

-- Alters the schema to set properties `Edited-by` and `Edit-date`.
> ALTER SCHEMA inventory SET DBPROPERTIES ('Edited-by' = 'John', 'Edit-date' = '01/01/2001');

-- Verify that properties are set.
> DESCRIBE SCHEMA EXTENDED inventory;
 database_description_item                 database_description_value
 ------------------------- ------------------------------------------
             Database Name                                  inventory
               Description
                  Location    file:/temp/spark-warehouse/inventory.db
                Properties ((Edit-date,01/01/2001), (Edited-by,John))

-- Transfer ownership of the schema to another user
> ALTER SCHEMA inventory OWNER TO `alf@melmak.et`

-- Applies three tags to the schema named `test`.
> ALTER SCHEMA test SET TAGS ('tag1' = 'val1', 'tag2' = 'val2', 'tag3' = 'val3');

-- Removes three tags from the schema named `test`.
> ALTER SCHEMA test UNSET TAGS ('tag1', 'tag2', 'tag3');
-- Enables predictive optimization for objects in schema my_schema
> ALTER SCHEMA my_schema ENABLE PREDICTIVE OPTIMIZATION;