ALTER VIEW
Se aplica a: Databricks SQL Databricks Runtime
Altera los metadatos asociados a la vista. Puede cambiar la definición de la vista, modificar el nombre de una vista por un nombre diferente, así como establecer y anular los metadatos de la vista al establecer TBLPROPERTIES
.
Si la vista se almacena en caché, el comando borra los datos almacenados en caché de la vista y todos los elementos dependientes que hacen referencia a ella. La memoria caché de la vista se irá rellenando lentamente cuando se acceda a la vista la próxima vez. El comando deja los dependientes de la vista sin almacenar en caché.
Sintaxis
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 la vista que se va a alterar. Si no se encuentra la vista, Azure Databricks genera un error TABLE_OR_VIEW_NOT_FOUND.
RENAME TO to_view_name
Cambia el nombre de la vista existente dentro del esquema. No se puede cambiar el nombre de las vistas materializadas.
to_view_name especifica el nuevo nombre de la vista. Si
to_view_name
ya existe, se produceTableAlreadyExistsException
. Sito_view_name
está cualificado, debe coincidir con el nombre del esquema deview_name
.-
Este parámetro le permite establecer o restablecer una o más propiedades que defina el usuario.
-
Este parámetro quita una o más propiedades que defina el usuario.
AS query
Consulta que construye la vista a partir de tablas base u otras vistas.
Esta cláusula es equivalente a una instrucción CREATE OR REPLACE VIEW sobre una vista existente, excepto que se conservan los privilegios concedidos sobre la vista.
-
Se aplica a: Databricks Runtime 15.3 y versiones posteriores
Especifica cómo se adapta la consulta posterior de la vista a los cambios en el esquema de la vista debido a los cambios en las definiciones de objeto subyacentes. Consulte CREAR VISTA... CON ESQUEMA para obtener más información sobre los modos de enlace de esquema.
[ SET ] OWNER TO principal
Transfiere la propiedad de la vista a
principal
. A menos que la vista esté definida enhive_metastore
, solo puede transferir la propiedad a un grupo al que pertenezca.Se aplica a: Databricks SQL Databricks Runtime 11.3 LTS y versiones posteriores
SET
se permite como una palabra clave opcional.SET TAGS ( { tag_name = tag_value } [, …] )
Aplica etiquetas a la vista. Debe tener el permiso
APPLY TAG
para agregar etiquetas a la vista.Se aplica a: Databricks SQL Databricks Runtime 13.3 LTS y versiones posteriores
ETIQUETAS UNSET ( tag_name [, ...] )
Elimina las etiquetas de la tabla. Debe tener el permiso
APPLY TAG
para quitar etiquetas de la vista.Se aplica a: Databricks SQL Databricks Runtime 13.3 LTS y versiones posteriores
tag_name
Un literal de
STRING
. Eltag_name
debe ser único dentro del vista.tag_value
Un literal de
STRING
.
Ejemplos
-- 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');