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 [ MATERIALIZED ] VIEW view_name
{ rename |
SET TBLPROPERTIES clause |
UNSET TBLPROPERTIES clause |
alter_body |
owner_to |
schedule
SET TAGS clause |
UNSET TAGS clause }}}
rename
RENAME TO to_view_name
alter_body
AS query
property_key
{ idenitifier [. ...] | string_literal }
owner_to
[ SET ] OWNER TO principal
schedule
{
{ ADD | ALTER } SCHEDULE [ REFRESH ]
CRON cron_string [ AT TIME ZONE timezone_id ] |
DROP SCHEDULE
}
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.
[ 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 ab Version 13.3 LTS
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 ab Version 13.3 LTS
tag_name
Ein
STRING
-Literal.tag_name
muss innerhalb der Ansicht eindeutig sein.tag_value
Ein
STRING
-Literal.SCHEDULE [ REFRESH ] CRON cron_string [ AT TIME ZONE timezone_id ]
Ermöglicht es Ihnen, einer materialisierten Sicht einen Zeitplan hinzuzufügen oder den Zeitplan einer materialisierten Sicht zu ändern.
Falls angegeben, legt dieser Parameter fest, dass die Daten der Streamingtabelle oder der materialisierten Sicht nach dem angegebenen quarz cron-Zeitplan aktualisiert werden. Es werden nur time_zone_values akzeptiert.
AT TIME ZONE LOCAL
wird nicht unterstützt. FehltAT TIME ZONE
, wird die Sitzungszeitzone verwendet. WennAT TIME ZONE
fehlt und die Sitzungszeitzone nicht festgelegt ist, wird ein Fehler ausgelöst.SCHEDULE
ist semantisch äquivalent mitSCHEDULE REFRESH
.Sie können die Syntax
SCHEDULE
nicht in einer Delta Live Tables-Pipelinedefinition verwenden.
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`
-- Adds a schedule to refresh a materialized view once a day
-- at midnight in Los Angeles
> ALTER MATERIALIZED VIEW my_mv
ADD SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';
-- Alters the schedule to run every 15 minutes for a materialized view
> ALTER MATERIALIZED VIEW my_mv
ALTER SCHEDULE CRON '0 0/15 * * * ? *';
-- Drops the schedule for a materialized view
> ALTER MATERIALIZED VIEW my_mv
DROP SCHEDULE;
-- 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');