Compartilhar via


ALTER VIEW

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

Altera os metadados associados à exibição. Ela pode alterar a definição da exibição, alterar o nome de uma exibição para um nome diferente, definir e remover a definição dos metadados da exibição ao definir TBLPROPERTIES.

Se a exibição estiver armazenada em cache, o comando limpará os dados armazenados em cache da exibição e todos os dependentes que se referem a ela. O cache da exibição será preenchido ociosamente quando a exibição for acessada na próxima vez. O comando deixa os dependentes da exibição sem armazenamento em cache.

Sintaxe

ALTER VIEW view_name
  { rename |
    SET TBLPROPERTIES clause |
    UNSET TBLPROPERTIES clause |
    alter_body |
    schema_binding |
    owner_to |
    SET TAGS clause |
    UNSET TAGS clause }

rename
  RENAME TO to_view_name

alter_body
  AS query

schema_binding
  WITH SCHEMA { BINDING | [ TYPE ] EVOLUTION | COMPENSATION }

property_key
  { idenitifier [. ...] | string_literal }

owner_to
  [ SET ] OWNER TO principal

Parâmetros

  • view_name

    Identifica a exibição a ser alterada. Se a exibição não puder ser encontrada, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND.

  • RENAME TO to_view_name

    Renomeia a exibição existente dentro do esquema. As exibições materializadas não podem ser renomeadas.

    to_view_name especifica o novo nome da exibição. Caso to_view_name já exista, é gerado um TableAlreadyExistsException. Caso to_view_name esteja qualificado, deve corresponder ao nome de esquema de view_name.

  • SET TBLPROPERTIES

    Configura ou reconfigura uma ou mais propriedades definidas pelo usuário.

  • UNSET TBLPROPERTIES

    Remove uma ou mais propriedades definidas pelo usuário.

  • AS query

    Uma consulta que constrói a exibição com base em tabelas base ou em outras exibições.

    Essa cláusula é equivalente a uma instrução CREATE OR REPLACE VIEW em uma exibição existente, exceto que os privilégios concedidos na exibição são preservados.

  • schema_binding

    Aplica-se a: verificação marcada como sim Databricks Runtime 15.3 e versões posteriores

    Especifica como a consulta subsequente da exibição se adapta às alterações no esquema da exibição devido a alterações nas definições do objeto subjacente. Consulte CREATE VIEW… WITH SCHEMA para obter detalhes sobre os modos de associação de esquema.

  • [ SET ] OWNER TO principal

    Transfere a propriedade da exibição para principal. A menos que a exibição seja definida no hive_metastore, você só poderá transferir a propriedade para um grupo ao qual você pertence.

    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 à exibição. Você precisa ter a permissão APPLY TAG para adicionar marcas à exibição.

    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 [, ...] )

    Remove as tags da tabela. Você precisa ter a permissão APPLY TAG para remover marcas da exibição.

    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.

Exemplos

-- Rename only changes the view name.
-- The source and target schemas of the view have to be the same.
-- Use qualified or unqualified name for the source and target view.
> ALTER VIEW tempsc1.v1 RENAME TO tempsc1.v2;

-- Verify that the new view is created.
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1       int   NULL
                            c2    string   NULL

  # Detailed Table Information
                      Database   tempsc1
                         Table        v2

-- Before ALTER VIEW SET TBLPROPERTIES
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1       int   null
                            c2    string   null

  # Detailed Table Information
                      Database   tempsc1
                         Table        v2
              Table Properties    [....]

-- Set properties in TBLPROPERTIES
> ALTER VIEW tempsc1.v2 SET TBLPROPERTIES ('created.by.user' = "John", 'created.date' = '01-01-2001' );

-- Use `DESCRIBE TABLE EXTENDED tempsc1.v2` to verify
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1                                                   int   NULL
                            c2                                                string   NULL

  # Detailed Table Information
                      Database                                               tempsc1
                         Table                                                    v2
              Table Properties [created.by.user=John, created.date=01-01-2001, ....]

-- Remove the key created.by.user and created.date from `TBLPROPERTIES`
> ALTER VIEW tempsc1.v2 UNSET TBLPROPERTIES (`created`.`by`.`user`, created.date);

-- Use `DESCRIBE TABLE EXTENDED tempsc1.v2` to verify the changes
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1       int   NULL
                            c2    string   NULL

  # Detailed Table Information
                      Database   tempsc1
                         Table        v2
              Table Properties    [....]

-- Change the view definition
> ALTER VIEW tempsc1.v2 AS SELECT * FROM tempsc1.v1;

-- Use `DESCRIBE TABLE EXTENDED` to verify
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1                        int   NULL
                            c2                     string   NULL

  # Detailed Table Information
                      Database                    tempsc1
                         Table                         v2
                          Type                       VIEW
                     View Text   select * from tempsc1.v1
            View Original Text   select * from tempsc1.v1

-- Transfer ownership of a view to another user
> ALTER VIEW v1 OWNER TO `alf@melmak.et`

-- Change the view schema binding to adopt type evolution
> ALTER VIEW v1 WITH SCHEMA TYPE EVOLUTION;

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

-- Removes three tags from the view named `test`.
> ALTER VIEW test UNSET TAGS ('tag1', 'tag2', 'tag3');