Compartilhar via


ALTER SCHEMA

Aplica-se a: marca de seleção positiva SQL do Databricks verificação marcada como sim Databricks Runtime

Altera o proprietário de um esquema, define o comportamento de otimização preditiva ou altera metadados associados a um esquema definindo DBPROPERTIES. Os valores de propriedade especificados substituem qualquer valor existente pelo mesmo nome de propriedade.

Embora o uso de SCHEMA e DATABASE seja intercambiável, SCHEMA é preferencial.

Sintaxe

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 } }

Parâmetros

  • schema_name

    O nome do esquema a ser alterado. Se o esquema não puder ser encontrado, o Azure Databricks emitirá um erro SCHEMA_NOT_FOUND.

  • DBPROPERTIES ( key = val [, …] )

    As propriedades do esquema a serem definidas ou a terem a definição removida.

  • [ SET ] OWNER TO principal

    Transfere a propriedade do esquema para principal.

    Aplica-se a:verificação marcada como sim SQL do Databricks marca de seleção positiva Databricks Runtime 11.3 LTS e versões posteriores

    SET é permitido como uma palavra-chave opcional.

  • MARCAÇÕES DEFINIDAS ( { tag_name = tag_value } [, ...] )

    Aplicar marcas ao esquema. Você precisa ter use_schema para aplicar uma marca ao esquema.

    Aplica-se a:verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 13.3 LTS e versões posteriores

  • MARCAÇÕES NÃO DEFINIDAS ( nome_da_marca [, ...] )

    Remova as marcas do esquema. É necessário ter use_schema para remover uma marca do esquema.

    Aplica-se a:verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 13.3 LTS e versões posteriores

  • nome_da_tag

    Um literal STRING. O tag_name deve ser exclusivo no esquema.

  • tag_value

    Um literal STRING.

  • { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION

    Aplica-se a: verificação marcada como sim SQL do Databricksverificação marcada como sim Databricks Runtime 12.2 LTS e versões posteriores verificação marcada como sim Somente Catálogo do Unity

    Altera o esquema para a configuração de otimização preditiva desejada. Por padrão, quando os esquemas são criados, o comportamento é para INHERIT do catálogo. Por padrão, novos objetos criados no esquema herdarão a configuração do esquema.

    Se o esquema for alterado, o comportamento será em cascata para todos os objetos que herdam a otimização preditiva. Objetos que ENABLE ou DISABLE a otimização preditiva explicitamente não são afetados pela configuração do esquema.

    Para definir a otimização preditiva para um esquema, o usuário deve ter a permissão CREATE no esquema.

    Somente os esquemas no compartilhamento não Delta, catálogos gerenciados no Catálogo do Unity são qualificados para otimização preditiva.

Exemplos

-- 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;