ALTER SCHEMA
適用於: Databricks SQL Databricks Runtime
藉由設定 DBPROPERTIES
來變更架構的擁有者、設定預測優化行為,或變更與架構相關聯的元數據。 指定的屬性值會覆寫任何具有相同屬性名稱的現有值。
雖然 和 SCHEMA
DATABASE
的使用是可互換的, 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 } }
參數
-
要改變之架構的名稱。 如果找不到架構,Azure Databricks 就會 引發SCHEMA_NOT_FOUND 錯誤。
DBPROPERTIES (key = val [, ...] )
要設定或取消設定的架構屬性。
[ SET ]OWNER TO 主體
將架構的擁有權轉移至
principal
。適用於: Databricks SQL Databricks Runtime 11.3 LTS 和更新版本
允許
SET
作為可選關鍵字。SET TAGS ( { tag_name = tag_value } [, ...] )
將標籤套用至架構。 您必須
use_schema
將標籤套用至架構。適用於: Databricks SQL Databricks Runtime 13.3 LTS 和更新版本
UNSET TAGS (tag_name [, ...] )
從架構中移除標籤。
use_schema
您必須從架構中移除標籤。適用於: Databricks SQL Databricks Runtime 13.3 LTS 和更新版本
tag_name
常值
STRING
。 在tag_name
架構中必須是唯一的。tag_value
常值
STRING
。{ ENABLE |DISABLE |INHERIT } 預測優化
適用於:Databricks SQL Databricks Runtime 12.2 LTS 和更新版本 僅限 Unity Catalog
將架構變更為所需的預測優化設定。 根據預設,建立架構時,行為是
INHERIT
來自目錄。 根據預設,在架構中建立的新物件會繼承架構中的設定。如果變更架構,行為會串聯至繼承預測優化的所有物件。 明確
ENABLE
或DISABLE
預測優化的物件不會受到架構設定的影響。若要設定架構的預測優化,用戶必須具有
CREATE
架構的許可權。只有非差異共用中的架構,Unity 目錄中的受控目錄才有資格進行預測優化。
範例
-- 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;