ALTER VIEW

Modifica los metadatos asociados a la vista. Puede cambiar la definición de la vista, cambiar el nombre de una vista a un nombre diferente, establecer y anular la definición de los metadatos de la vista estableciendo TBLPROPERTIES .

RENAME

Cambia el nombre de la vista existente. Si el nuevo nombre de vista ya existe en la base de datos de origen, TableAlreadyExistsException se produce una excepción. Esta operación no permite mover las vistas entre bases de datos.

Sintaxis

ALTER VIEW view_identifier RENAME TO view_identifier

Parámetros

  • view_identifier

    Un nombre de vista, opcionalmente calificado con un nombre de base de datos.

    Sintaxis:[database_name.] view_name

SET

Establece una o varias propiedades de una vista existente. Las propiedades son los pares clave-valor. Si existen claves de propiedades, los valores se reemplazan por los nuevos valores. Si las claves de las propiedades no existen, los pares de clave y valor se agregan a las propiedades.

Sintaxis

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

Parámetros

  • view_identifier

    Un nombre de vista, opcionalmente calificado con un nombre de base de datos.

    Sintaxis:[database_name.] view_name

  • property_key

    La clave de la propiedad. La clave puede constar de varias partes separadas por puntos.

    Sintaxis:[ key_part1 ] [ .key_part2 ] [ ... ]

Propiedades de la vista no establecida

Quita una o varias propiedades de una vista existente. Si las claves especificadas no existen, se produce una excepción. Use IF EXISTS para evitar la excepción.

Sintaxis

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

Parámetros

  • view_identifier

    Un nombre de vista, opcionalmente calificado con un nombre de base de datos.

    Sintaxis:[database_name.] view_name

  • property_key

    La clave de la propiedad. La clave puede constar de varias partes separadas por puntos.

    Sintaxis:[ key_part1 ] [ .key_part2 ] [ ... ]

ALTER VIEW AS SELECT

Cambia la definición de una vista. La SELECT instrucción debe ser válida y view_identifier debe existir.

Sintaxis

ALTER VIEW view_identifier AS select_statement

ALTER VIEW la instrucción no admite SET SERDE SET SERDEPROPERTIES las propiedades o.

Parámetros

  • view_identifier

    Un nombre de vista, opcionalmente calificado con un nombre de base de datos.

    Sintaxis:[database_name.] view_name

  • select_statement

    La definición de la vista. Vea Select para obtener más información.

Ejemplos

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