Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime
Změní metadata přidružená k zobrazení. Může změnit definici zobrazení, přejmenovat zobrazení a nastavit nebo zrušit nastavení metadat nastavením TBLPROPERTIES.
Pokud chcete přidat nebo změnit komentář k zobrazení, použijte COMMENT ON.
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í je po dalším přístupu k zobrazení líná. Příkaz ponechá závislé zobrazení jako nezachované.
Požadovaná oprávnění
Pokud používáte Katalog Unity, následující operace nevyžadují vlastnictví zobrazení:
-
SET TAGS: Vyžaduje oprávněníAPPLY TAG. -
UNSET TAGS: Vyžaduje oprávněníAPPLY TAG.
Následující operace vyžadují vlastnictví zobrazení:
SET TBLPROPERTIESUNSET TBLPROPERTIES-
AS query(změnit definici zobrazení) -
WITH SCHEMA(změnit vazbu schématu)
RENAME TO
MANAGE vyžaduje oprávnění v zobrazení.
SET OWNER TOPožadovaná oprávnění závisí na novém vlastníkovi:
- Pokud je objekt zabezpečení sám, musíte mít
MANAGEoprávnění k zobrazení. - Pokud je objekt zabezpečení skupina, musíte být členem této skupiny.
- Ve všech ostatních případech musíte být správcem metastoru.
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 | yaml_definition }
yaml_definition
$$
yaml_string
$$
schema_binding
WITH SCHEMA { BINDING | [ TYPE ] EVOLUTION | COMPENSATION }
property_key
{ identifier [. ...] | string_literal }
owner_to
[ SET ] OWNER TO principal
Parametry
-
Identifikuje zobrazení, které se má změnit. Pokud zobrazení nejde najít, Azure Databricks vyvolá TABLE_OR_VIEW_NOT_FOUND chybu.
PŘEJMENOVAT NA to_view_name
Přejmenuje existující zobrazení na
to_view_name.Pro pohledy katalogu Unity musí být
to_view_nameve stejném katalogu jakoview_name. Pro jiná zobrazeníto_view_namemusí být ve stejném schématu jakoview_name.Pokud
to_view_nameje nekvalifikovaný, je implicitně kvalifikovaný s aktuálním schématem.Materializovaná zobrazení nelze přejmenovat.
-
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í.
AS Dotaz
Dotaz, který sestaví zobrazení ze základních tabulek nebo jiných zobrazení.
AS querynepodporuje zobrazení metrik.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.
AS YAML_DEFINITION
Platí pro:
Databricks SQL
Databricks Runtime 16.4 a vyšší
pouze Unity CatalogDefinice yaml pro zobrazení metrik.
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.
Opětovné zadání definice YAML přidá, zahodí nebo změní zobrazení
parametersmetrik bez jakékoli změny syntaxe. Syntaxi parametru najdete v tématu CREATE VIEW. Parametry vyžadují Databricks Runtime 18.2 a vyšší.-
Platí pro:
Databricks SQL
Databricks Runtime 15.3 a vyššíUrčuje, jak se následné dotazování zobrazení přizpůsobí změnám schématu zobrazení kvůli změnám v definicích podkladového objektu. Viz CREATE VIEW ... pro podrobnosti o režimech vazby schématu WITH SCHEMA.
Tato klauzule není podporována pro zobrazení metrik.
[ SET ] VLASTNÍK NA principál
Přenese vlastnictví zobrazení na
principal. Pokud není zobrazení definováno v saděhive_metastore, můžete vlastnictví přenést pouze do skupiny, do které patříte.Platí pro:
Databricks SQL
Databricks Runtime 11.3 LTS a vyššíSETje povolený jako volitelné klíčové slovo.SET TAGS ( { tag_name = tag_value } [, ...] )
Použije značky v zobrazení. K přidání značek do zobrazení potřebujete
APPLY TAGoprávnění.Platí pro:
Databricks SQL
Databricks Runtime 13.3 LTS a vyššíZRUŠIT ZNAČKY ( tag_name [, ...] )
Odebere značky ze zobrazení. Potřebujete
APPLY TAGoprá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.tag_namemusí být jedinečné v zobrazení.tag_value
Literál
STRING.
Příklady
-- Rename only changes the view name.
-- The source and target schemas of the view must 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;
-- Apply three tags to the view named `test`.
> ALTER VIEW test SET TAGS ('tag1' = 'val1', 'tag2' = 'val2', 'tag3' = 'val3');
-- Remove three tags from the view named `test`.
> ALTER VIEW test UNSET TAGS ('tag1', 'tag2', 'tag3');
-- Alter the metric view `region_sales_metrics` defined in CREATE VIEW
-- to drop the `total_revenue_for_open_orders` measure.
> ALTER VIEW region_sales_metrics
AS $$
version: 0.1
source: samples.tpch.orders
filter: o_orderdate > '1990-01-01'
dimensions:
- name: month
expr: date_trunc('MONTH', o_orderdate)
- name: status
expr: case
when o_orderstatus = 'O' then 'Open'
when o_orderstatus = 'P' then 'Processing'
when o_orderstatus = 'F' then 'Fulfilled'
end
- name: order_priority
expr: split(o_orderpriority, '-')[1]
measures:
- name: count_orders
expr: count(1)
- name: total_revenue
expr: SUM(o_totalprice)
- name: total_revenue_per_customer
expr: SUM(o_totalprice) / count(distinct o_custkey)
$$;
> DESCRIBE EXTENDED region_sales_metrics;
col_name data_type
month timestamp
status string
order_priority string
count_orders bigint measure
total_revenue decimal(28,2) measure
total_revenue_per_customer decimal(38,12) measure
# Detailed Table Information
Catalog main
Database default
Table region_sales_metrics
Owner alf@melmak.et
Created Time Sun May 18 23:45:25 UTC 2025
Last Access UNKNOWN
Created By Spark
Type METRIC_VIEW
Comment A metric view for regional sales metrics.
View Text "
version: 0.1
source: samples.tpch.orders
filter: o_orderdate > '1990-01-01'
dimensions:
- name: month
expr: date_trunc('MONTH', o_orderdate)
- name: status
expr: case
when o_orderstatus = 'O' then 'Open'
when o_orderstatus = 'P' then 'Processing'
when o_orderstatus = 'F' then 'Fulfilled'
end
- name: order_priority
expr: split(o_orderpriority, '-')[1]
measures:
- name: count_orders
expr: count(1)
- name: total_revenue
expr: SUM(o_totalprice)
- name: total_revenue_per_customer
expr: SUM(o_totalprice) / count(distinct o_custkey)
"
Language YAML
Table Properties [metric_view.from.name=samples.tpch.orders, metric_view.from.type=ASSET, metric_view.where=o_orderdate > '1990-01-01']