ALTER VIEW
S’applique à : Databricks SQL Databricks Runtime
Modifie les métadonnées associées à l’affichage. La commande peut modifier la définition de l’affichage, changer son nom, ainsi qu’en définir et annuler les métadonnées en définissant TBLPROPERTIES
.
Si l’affichage est mis en cache, la commande efface les données mises en cache de l’affichage et de tous les éléments dépendants qui y font référence. Le cache de l’affichage sera rempli de manière différée lors du prochain accès à l’affichage. La commande ne met pas en cache les éléments dépendants de l’affichage.
Syntaxe
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
Paramètres
-
Identifie l’affichage à modifier. Si la vue est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.
RENAME TO to_view_name
Renomme l’affichage existant dans le schéma. Les vues matérialisées ne peuvent pas être renommées.
to_view_name spécifie le nouveau nom de l’affichage. Si
to_view_name
existe déjà, une exceptionTableAlreadyExistsException
est levée. Sito_view_name
est qualifié, il doit correspondre au nom de schéma deview_name
.-
Définit ou redéfinit une ou plusieurs propriétés définies par l’utilisateur.
-
Supprime une ou plusieurs propriétés définies par l’utilisateur.
COMMERequête
Requête qui construit l’affichage à partir de tables de base ou d’autres affichages.
Cette clause équivaut à une instruction CREATE OR REPLACE VIEW sur une vue existante, à la différence près que les privilèges accordés sur la vue sont conservés.
-
S’applique à : Databricks Runtime 15.3 et versions ultérieures
Spécifie comment l’interrogation ultérieure de la vue s’adapte aux modifications du schéma de la vue dues à des changements dans les définitions des objets sous-jacents. Consultez CREATE VIEW… WITH SCHEMA pour plus d’informations sur les modes de liaison de schéma.
[ SET ] PROPRIÉTAIRE DU principal
Transfère la propriété de l’affichage à
principal
. Si l’affichage n’est pas défini dans lehive_metastore
, vous pouvez transférer la propriété uniquement à un groupe auquel vous appartenez.S’applique à : Databricks SQL Databricks Runtime 11.3 LTS et versions ultérieures
SET
est autorisé en tant que mot clé facultatif.SET TAGS ( { tag_name = tag_value } [, …] )
Appliquez des balises à la vue. Vous devez avoir l'autorisation
APPLY TAG
d'ajouter des balises à la vue.S’applique à : Databricks SQL Databricks Runtime 13.3 LTS et versions ultérieures
UNSET TAGS ( tag_name [, …] )
Supprimer des balises de la table. Vous devez avoir l'autorisation
APPLY TAG
de supprimer des balises de la vue.S’applique à : Databricks SQL Databricks Runtime 13.3 LTS et versions ultérieures
tag_name
Un
STRING
littéral. Letag_name
doit être unique dans la vue.tag_value
Un
STRING
littéral.
Exemples
-- 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');