ALTER VIEW
Platí pro: Databricks SQL Databricks Runtime
Změní metadata přidružená k zobrazení. Může změnit definici zobrazení, změnit název zobrazení na jiný název, nastavit a zrušit nastavení metadat zobrazení nastavením TBLPROPERTIES
.
Pokud je zobrazení uložené v mezipaměti, příkaz vymaže data v mezipaměti zobrazení a všechny jeho závislé objekty, které na něj odkazují. Mezipaměť zobrazení bude při příštím přístupu k zobrazení opožděně vyplněna. Příkaz ponechá závislé zobrazení jako nezachované.
Syntaxe
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
-
Identifikuje zobrazení, které se má změnit. Pokud se zobrazení nenašlo, Azure Databricks vyvolá chybu TABLE_OR_VIEW_NOT_FOUND .
PŘEJMENOVAT NA to_view_name
Přejmenuje existující zobrazení v rámci schématu. Materializovaná zobrazení nelze přejmenovat.
to_view_name určuje nový název zobrazení. Pokud už existuje
to_view_name
,TableAlreadyExistsException
je vyvolán. Pokudto_view_name
je kvalifikovaný, musí odpovídat názvu schématuview_name
.-
Nastaví nebo obnoví jednu nebo více uživatelem definovaných vlastností.
ZRUŠIT NASTAVENÍ TBLPROPERTIES
Odebere jednu nebo více uživatelem definovaných vlastností.
-
Dotaz, který sestaví zobrazení ze základních tabulek nebo jiných zobrazení.
Tato klauzule je ekvivalentní příkazu CREATE OR REPLACE VIEW v existujícím zobrazení s tím rozdílem, že oprávnění udělená v zobrazení jsou zachována.
[ SET ] VLASTNÍK K objektu zabezpečení
Přenese vlastnictví zobrazení na
principal
. Pokud není zobrazení definováno vhive_metastore
něm, můžete vlastnictví převést pouze do skupiny, do které patříte.Platí pro: Databricks SQL Databricks Runtime 11.3 LTS a vyšší
SET
je povolený jako volitelné klíčové slovo.SET TAGS ( { tag_name = tag_value } [; ...] )
Použijte značky v zobrazení. Musíte mít
apply_tag
oprávnění k přidání značek do zobrazení.Platí pro: Databricks SQL Databricks Runtime 13.3 LTS a vyšší
ZNAČKY UNSET ( tag_name [, ...] )
Odeberte značky z tabulky. Musíte mít
apply_tag
oprávnění k odebrání značek ze zobrazení.Platí pro: Databricks SQL Databricks Runtime 13.3 LTS a vyšší
tag_name
Literál
STRING
. Musítag_name
být v zobrazení jedinečný.tag_value
Literál
STRING
.SCHEDULE [ REFRESH ] CRON cron_string [ AT TIME ZONE timezone_id ]
Umožňuje přidat plán nebo změnit plán materializovaného zobrazení.
Pokud je k dispozici, naplánuje streamovací tabulku nebo materializované zobrazení, aby aktualizovala data s daným plánem quartz cron . Akceptují se pouze time_zone_values .
AT TIME ZONE LOCAL
není podporováno. PokudAT TIME ZONE
chybí, použije se časové pásmo relace. PokudAT TIME ZONE
chybí a časové pásmo relace není nastavené, vyvolá se chyba.SCHEDULE
je sémanticky ekvivalentníSCHEDULE REFRESH
.Syntaxi nelze použít
SCHEDULE
v definici kanálu Delta Live Tables.
Příklady
-- 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');