ALTER VIEW
Aplica-se a: SQL do Databricks 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
-
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 umTableAlreadyExistsException
. Casoto_view_name
esteja qualificado, deve corresponder ao nome de esquema deview_name
.-
Configura ou reconfigura uma ou mais propriedades definidas pelo usuário.
-
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.
-
Aplica-se a: 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 nohive_metastore
, você só poderá transferir a propriedade para um grupo ao qual você pertence.Aplica-se a: SQL do Databricks 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: SQL do Databricks 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: SQL do Databricks Databricks Runtime 13.3 LTS e versões posteriores
nome_da_tag
Um literal
STRING
. Otag_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');