ALTER VIEW
Область применения: Databricks SQL Databricks Runtime
Изменяет метаданные, связанные с представлением. Эта инструкция может изменить определение представления, изменить имя представления, установить или удалить метаданные представления, изменяя TBLPROPERTIES
.
Если представление кэшируется, команда очищает кэшированные данные представления и все их зависимости. Кэш представления будет "лениво" заполняться при следующем доступе к представлению. Команда оставляет зависимости представления некэшированными.
Синтаксис
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
Параметры
-
Определяет представление, которое нужно изменить. Если представление не удается найти Azure Databricks, возникает ошибка TABLE_OR_VIEW_NOT_FOUND .
RENAME TO to_view_name
Переименовывает существующее в схеме представление. Материализованные представления нельзя переименовать.
to_view_name указывает новое имя представления. Если
to_view_name
уже существует, создается исключениеTableAlreadyExistsException
. Если указан параметрto_view_name
, он должен совпадать с именем схемы дляview_name
.-
Задает или сбрасывает одно или несколько свойств, определяемых пользователем.
-
Удаляет одно или несколько свойств, определяемых пользователем.
AS query
Запрос, создающий представление на основе базовых таблиц или других представлений.
Это предложение эквивалентно инструкции CREATE OR REPLACE VIEW в существующем представлении, за исключением того, что права, предоставленные в представлении, сохраняются.
-
Область применения: Databricks Runtime 15.3 и выше
Указывает, как последующий запрос представления адаптируется к изменениям схемы представления из-за изменений в определениях базовых объектов. См. статью CREATE VIEW... WITH SCHEMA для получения сведений о режимах привязки схемы.
[ SET ] OWNER TO субъект
Передает права владения представлением субъекту
principal
. Если представление не определено вhive_metastore
, вы можете передавать права владения только той группе, к которой вы принадлежите.Область применения: Databricks SQL Databricks Runtime 11.3 LTS и выше
SET
разрешено в качестве необязательного ключевого слова.SET TAGS ( { tag_name = tag_value } [, ...] )
Примените теги к представлению. Необходимо иметь
APPLY TAG
разрешение на добавление тегов в представление.Область применения: Databricks SQL Databricks Runtime 13.3 LTS и выше
UNSET TAGS ( tag_name [, ...] )
Удалите теги из таблицы. Необходимо иметь
APPLY TAG
разрешение на удаление тегов из представления.Область применения: Databricks SQL Databricks Runtime 13.3 LTS и выше
tag_name
Литерал
STRING
. Онtag_name
должен быть уникальным в представлении.tag_value
Литерал
STRING
.
Примеры
-- 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');