ALTER VIEW

Altera metadados associados à vista. Pode alterar a definição da vista, alterar o nome de uma vista para um nome diferente, definir e desafinar os metadados da vista por definição TBLPROPERTIES .

RENAME

Rebatiza a vista existente. Se o novo nome de visualização já existir na base de dados de origem, TableAlreadyExistsException aa é lançada. Esta operação não suporta mover as opiniões através das bases de dados.

Sintaxe

ALTER VIEW view_identifier RENAME TO view_identifier

Parâmetros

  • view_identifier

    Um nome de visualização, opcionalmente qualificado com um nome de base de dados.

    Sintaxe:[database_name.] view_name

SET

Define uma ou mais propriedades de uma vista existente. As propriedades são os pares de valor chave. Se as chaves das propriedades existirem, os valores são substituídos pelos novos valores. Se as teclas das propriedades não existirem, os pares de valor-chave são adicionados às propriedades.

Sintaxe

ALTER VIEW view_identifier SET TBLPROPERTIES ( property_key = property_val [ , ... ] )

Parâmetros

  • view_identifier

    Um nome de visualização, opcionalmente qualificado com um nome de base de dados.

    Sintaxe:[database_name.] view_name

  • property_key

    A chave da propriedade. A chave pode ser constituída por múltiplas partes separadas por ponto.

    Sintaxe:[ key_part1 ] [ .key_part2 ] [ ... ]

Ver propriedades da UNSET

Deixa cair uma ou mais propriedades de uma vista existente. Se as teclas especificadas não existirem, é lançada uma exceção. Use IF EXISTS para evitar a exceção.

Sintaxe

ALTER VIEW view_identifier UNSET TBLPROPERTIES [ IF EXISTS ]  ( property_key [ , ... ] )

Parâmetros

  • view_identifier

    Um nome de visualização, opcionalmente qualificado com um nome de base de dados.

    Sintaxe:[database_name.] view_name

  • property_key

    A chave da propriedade. A chave pode ser constituída por múltiplas partes separadas por ponto.

    Sintaxe:[ key_part1 ] [ .key_part2 ] [ ... ]

ALTERE A VISTA COMO SELECIONADA

Altera a definição de uma visão. A SELECT declaração deve ser válida e deve view_identifier existir.

Syntax

ALTER VIEW view_identifier AS select_statement

ALTER VIEW a declaração não suporta SET SERDE ou SET SERDEPROPERTIES propriedades.

Parâmetros

  • view_identifier

    Um nome de visualização, opcionalmente qualificado com um nome de base de dados.

    Sintaxe:[database_name.] view_name

  • select_statement

    A definição da vista. Consulte SELECT para mais detalhes.

Exemplos

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

-- Verify that the new view is created.
DESCRIBE TABLE EXTENDED tempdb1.v2;
+----------------------------+----------+-------+
|                    col_name|data_type |comment|
+----------------------------+----------+-------+
|                          c1|       int|   null|
|                          c2|    string|   null|
|                            |          |       |
|# Detailed Table Information|          |       |
|                    Database|   tempdb1|       |
|                       Table|        v2|       |
+----------------------------+----------+-------+

-- Before ALTER VIEW SET TBLPROPERTIES
DESC TABLE EXTENDED tempdb1.v2;
+----------------------------+----------+-------+
|                    col_name| data_type|comment|
+----------------------------+----------+-------+
|                          c1|       int|   null|
|                          c2|    string|   null|
|                            |          |       |
|# Detailed Table Information|          |       |
|                    Database|   tempdb1|       |
|                       Table|        v2|       |
|            Table Properties|    [....]|       |
+----------------------------+----------+-------+

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

-- Use `DESCRIBE TABLE EXTENDED tempdb1.v2` to verify
DESC TABLE EXTENDED tempdb1.v2;
+----------------------------+-----------------------------------------------------+-------+
|                    col_name|                                            data_type|comment|
+----------------------------+-----------------------------------------------------+-------+
|                          c1|                                                  int|   null|
|                          c2|                                               string|   null|
|                            |                                                     |       |
|# Detailed Table Information|                                                     |       |
|                    Database|                                              tempdb1|       |
|                       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 tempdb1.v2 UNSET TBLPROPERTIES ('created.by.user', 'created.date');

--Use `DESC TABLE EXTENDED tempdb1.v2` to verify the changes
DESC TABLE EXTENDED tempdb1.v2;
+----------------------------+----------+-------+
|                    col_name| data_type|comment|
+----------------------------+----------+-------+
|                          c1|       int|   null|
|                          c2|    string|   null|
|                            |          |       |
|# Detailed Table Information|          |       |
|                    Database|   tempdb1|       |
|                       Table|        v2|       |
|            Table Properties|    [....]|       |
+----------------------------+----------+-------+

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

-- Use `DESC TABLE EXTENDED` to verify
DESC TABLE EXTENDED tempdb1.v2;
+----------------------------+---------------------------+-------+
|                    col_name|                  data_type|comment|
+----------------------------+---------------------------+-------+
|                          c1|                        int|   null|
|                          c2|                     string|   null|
|                            |                           |       |
|# Detailed Table Information|                           |       |
|                    Database|                    tempdb1|       |
|                       Table|                         v2|       |
|                        Type|                       VIEW|       |
|                   View Text|   select * from tempdb1.v1|       |
|          View Original Text|   select * from tempdb1.v1|       |
+----------------------------+---------------------------+-------+