ALTER VIEW
Gilt für: Databricks SQL Databricks Runtime
Ändert Metadaten, die der Sicht zugeordnet sind. Es ist möglich, die Definition der Sicht zu ändern, eine Sicht umzubenennen sowie durch Festlegen von TBLPROPERTIES
die Metadaten der Sicht festzulegen bzw. die festgelegten Metadaten der Sicht zu löschen.
Wenn die Sicht zwischengespeichert wurde, löscht der Befehl zwischengespeicherte Daten der Sicht und alle abhängigen Daten, die darauf verweisen. Der Cache der Sicht wird verzögert gefüllt, wenn das nächste Mal auf die Sicht zugegriffen wird. Der Befehl speichert die abhängigen Elemente der Sicht nicht zwischen.
Syntax
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
Parameter
-
Gibt die Sicht an, die geändert werden soll. Wenn die Sicht nicht gefunden werden kann, löst Azure Databricks den Fehler TABLE_OR_VIEW_NOT_FOUND aus.
RENAME TO to_view_name
Benennt die vorhandene Sicht innerhalb des Schemas um. Materialisierte Sichten können nicht umbenannt werden.
to_view_name gibt den neuen Namen der Sicht an. Wenn
to_view_name
bereits vorhanden ist, wirdTableAlreadyExistsException
ausgelöst. Wennto_view_name
mit Qualifizierung angegeben wird, muss der Name mit dem Schemanamen vonview_name
übereinstimmen.-
Legt eine oder mehrere benutzerdefinierte Eigenschaften fest oder setzt diese zurück.
-
Entfernt eine oder mehrere benutzerdefinierte Eigenschaften.
AS query
Eine Abfrage, die die Sicht aus Basistabellen oder anderen Sichten erstellt.
Diese Klausel entspricht einer CREATE OR REPLACE VIEW-Anweisung für eine vorhandene Ansicht, mit der Ausnahme, dass Berechtigungen, die für die Ansicht gewährt werden, beibehalten werden.
-
Gilt für: Databricks Runtime 15.3 und höher
Gibt an, wie sich die nachfolgende Abfrage der Ansicht an Änderungen am Schema der Ansicht aufgrund von Änderungen in den zugrunde liegenden Objektdefinitionen anpasst. Siehe ANSICHT ERSTELLEN... MIT SCHEMA für Details zu Schemabindungsmodi.
[ SET ] OWNER TO principal
Überträgt den Besitz der Sicht an
principal
. Wenn die Sicht nicht inhive_metastore
definiert ist, können Sie den Besitz nur auf eine Gruppe übertragen, der Sie angehören.Gilt für: Databricks SQL Databricks Runtime 11.3 LTS und höher
SET
ist als optionales Schlüsselwort zulässig.SET TAGS ( { tag_name = tag_value } [, …] )
Wenden Sie Tags auf die Ansicht an. Sie benötigen die Berechtigung
APPLY TAG
, um Tags zur Ansicht hinzufügen zu können.Gilt für: Databricks SQL Databricks Runtime 13.3 LTS und höher
UNSET TAGS ( tag_name [, …] )
Entfernen Sie Tags aus der Tabelle. Sie benötigen die Berechtigung
APPLY TAG
, um Tags aus der Ansicht entfernen zu können.Gilt für: Databricks SQL Databricks Runtime 13.3 LTS und höher
tag_name
Ein
STRING
-Literal.tag_name
muss innerhalb der Ansicht eindeutig sein.tag_value
Ein
STRING
-Literal.
Beispiele
-- 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');