ALTER VIEW
Dotyczy: Databricks SQL Databricks Runtime
Zmienia metadane skojarzone z widokiem. Może zmienić definicję widoku, zmienić nazwę widoku na inną nazwę, ustawić i usunąć ustawienia metadanych widoku TBLPROPERTIES
.
Jeśli widok jest buforowany, polecenie czyści buforowane dane widoku i wszystkie jego zależności odwołujące się do niego. Pamięć podręczna widoku zostanie wypełniona z opóźnieniem po następnym korzystaniu z widoku. Polecenie pozostawia zależności widoku jako niebuforowane.
Składnia
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
}
Parametry
-
Identyfikuje widok, który ma zostać zmieniony. Jeśli nie można odnaleźć widoku usługi Azure Databricks, wystąpi błąd TABLE_OR_VIEW_NOT_FOUND .
ZMIEŃ NAZWĘ NA TO_VIEW_NAME
Zmienia nazwę istniejącego widoku w schemacie. Nie można zmienić nazwy zmaterializowanych widoków.
to_view_name określa nową nazwę widoku.
to_view_name
Jeśli element już istnieje,TableAlreadyExistsException
zostanie zgłoszony element . Jeślito_view_name
jest kwalifikowana, musi być zgodna z nazwą schematu .view_name
-
Ustawia lub resetuje co najmniej jedną właściwości zdefiniowaną przez użytkownika.
-
Usuwa co najmniej jedną właściwości zdefiniowaną przez użytkownika.
-
Zapytanie, które konstruuje widok z tabel podstawowych lub innych widoków.
Ta klauzula jest równoważna instrukcji CREATE OR REPLACE VIEW w istniejącym widoku, z tą różnicą, że uprawnienia przyznane w widoku są zachowywane.
[ SET ] WŁAŚCICIEL DO podmiotu zabezpieczeń
Przenosi własność widoku na
principal
. Chyba że widok jest zdefiniowany w elemeciehive_metastore
, użytkownik może przenieść własność tylko do grupy, do której należysz.Dotyczy: Databricks SQL Databricks Runtime 11.3 LTS i nowsze
SET
jest dozwolone jako opcjonalne słowo kluczowe.SET TAGS ( { tag_name = tag_value } [, ...] )
Zastosuj tagi do widoku. Musisz mieć
apply_tag
uprawnienia do dodawania tagów do widoku.Dotyczy: Databricks SQL Databricks Runtime 13.3 LTS i nowsze
UNSET TAGS (TAG_NAME [, ...] )
Usuń tagi z tabeli. Musisz mieć
apply_tag
uprawnienia do usuwania tagów z widoku.Dotyczy: Databricks SQL Databricks Runtime 13.3 LTS i nowsze
tag_name
Literał
STRING
. Elementtag_name
musi być unikatowy w widoku.tag_value
Literał
STRING
.SCHEDULE [ REFRESH ] CRON cron_string [ AT TIME ZONE timezone_id ]
Umożliwia dodanie harmonogramu do lub zmianę harmonogramu zmaterializowanego widoku.
Jeśli zostanie podana, zaplanuje tabelę przesyłania strumieniowego lub zmaterializowany widok, aby odświeżyć dane przy użyciu danego harmonogramu kronu kwarcowego. Akceptowane są tylko time_zone_values .
AT TIME ZONE LOCAL
nie jest obsługiwana. JeśliAT TIME ZONE
jest nieobecny, używana jest strefa czasowa sesji. JeśliAT TIME ZONE
jest nieobecny, a strefa czasowa sesji nie jest ustawiona, zostanie zgłoszony błąd.SCHEDULE
jest semantycznie równoważne .SCHEDULE REFRESH
Nie można użyć
SCHEDULE
składni w definicji potoku delta Live Tables.
Przykłady
-- 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');