ALTER VIEW
Şunlar için geçerlidir: Databricks SQL Databricks Runtime
Görünümle ilişkili meta verileri değiştirir. Görünümün tanımını değiştirebilir, görünümün adını farklı bir adla değiştirebilir, ayarlayarak TBLPROPERTIES
görünümün meta verilerini ayarlayıp açabilir.
Görünüm önbelleğe alınmışsa, komut görünümün önbelleğe alınmış verilerini ve buna başvuran tüm bağımlılarını temizler. Görünüme bir sonraki erişildiğinde görünümün önbelleği gevşek bir şekilde doldurulur. Komut görünümün bağımlılarını kazınmış olarak bırakır.
Sözdizimi
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
}
Parametreler
-
Değiştirilecek görünümü tanımlar. Görünüm bulunamazsa Azure Databricks bir TABLE_OR_VIEW_NOT_FOUND hatası oluşturur.
TO_VIEW_NAME OLARAK YENIDEN ADLANDıR
Şemadaki mevcut görünümü yeniden adlandırır. Gerçekleştirilmiş görünümler yeniden adlandırılamaz.
to_view_name görünümün yeni adını belirtir.
to_view_name
zaten varsa, birTableAlreadyExistsException
oluşturulur. Uygunsato_view_name
şema adıyla eşleşmesiview_name
gerekir.-
Bir veya daha fazla kullanıcı tanımlı özelliği ayarlar veya sıfırlar.
-
Bir veya daha fazla kullanıcı tanımlı özelliği kaldırır.
AS sorgusu
Görünümü temel tablolardan veya diğer görünümlerden oluşturan sorgu.
Bu yan tümce, görünümde verilen ayrıcalıkların korunması dışında mevcut görünümdeki CREATE VEYA REPLACE VIEW deyimine eşdeğerdir.
-
Görünümün sahipliğini öğesine
principal
aktarır. Görünüm içindehive_metastore
tanımlanmadığı sürece sahipliğini yalnızca ait olduğunuz bir gruba aktarabilirsiniz.Şunlar için geçerlidir: Databricks SQL Databricks Runtime 11.3 LTS ve üzeri
SET
isteğe bağlı anahtar sözcük olarak izin verilir. SET TAGS ( { tag_name = tag_value } [, ...] )
Görünüme etiket uygulama. Görünüme
apply_tag
etiket ekleme izniniz olmalıdır.Şunlar için geçerlidir: Databricks SQL Databricks Runtime 13.3 LTS ve üzeri
ETIKETLERIN KÜMESINI KALDıR ( tag_name [, ...] )
Tablodan etiketleri kaldırın. Etiketleri görünümden kaldırma izniniz olmalıdır
apply_tag
.Şunlar için geçerlidir: Databricks SQL Databricks Runtime 13.3 LTS ve üzeri
tag_name
Değişmez değer
STRING
.tag_name
görünümü içinde benzersiz olmalıdır.tag_value
Değişmez değer
STRING
.SCHEDULE [ REFRESH ] CRON cron_string [ TIME ZONE timezone_id ]
Gerçekleştirilmiş görünüme zamanlama eklemenize veya zamanlamasını değiştirmenize olanak tanır.
Sağlandıysa, akış tablosunu veya gerçekleştirilmiş görünümü zamanlayarak verilerini verilen quartz cron zamanlaması ile yeniler. Yalnızca time_zone_values kabul edilir.
AT TIME ZONE LOCAL
Desteklenmez. YoksaAT TIME ZONE
, oturum saat dilimi kullanılır. YoksaAT TIME ZONE
ve oturum saat dilimi ayarlanmadıysa bir hata oluşur.SCHEDULE
, ile eşanlamlı olarak eşdeğerdirSCHEDULE REFRESH
.Delta Live Tables işlem hattı tanımında söz dizimini kullanamazsınız
SCHEDULE
.
Örnekler
-- 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');