طريقة عرض ALTER (SQL Databricks)
يغير بيانات التعريف المقترنة بوحدة العرض. يمكنه تغيير تعريف طريقة العرض ، وتغيير اسم طريقة العرض إلى اسم مختلف ، وتعيين البيانات الوصفية للعرض وإلغاء تعيينها عن طريق الإعداد TBLPROPERTIES
.
إذا تم تخزين طريقة العرض مؤقتا، يقوم الأمر بمسح البيانات المخزنة مؤقتا لطريقة العرض وجميع التابعين لها الذين يشيرون إليها. سيتم ملء ذاكرة التخزين المؤقت للعرض بشكل كسول عند الوصول إلى طريقة العرض في المرة القادمة. يترك الأمر التابعين للعرض على أنهم غير مخزنين مؤقتا.
بناء الجملة
ALTER VIEW view_name
{ rename |
set_properties |
unset_properties |
alter_body |
owner_to }
rename
RENAME TO to_view_name
set_properties
SET TBLPROPERTIES ( property_key = property_val [ , ... ] )
unset_properties
UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [ , ... ] )
alter_body
AS query
property_key
{ idenitifier [. ...] | string_literal }
owner_to
OWNER TO principal
المعلمات
-
يحدد طريقة العرض المراد تغييرها.
إعادة تسمية إلى to_view_name
إعادة تسمية طريقة العرض الموجودة داخل المخطط.
يحدد to_view_name الاسم الجديد لطريقة العرض. إذا كان
to_view_name
موجودا بالفعل ، يتم طرح aTableAlreadyExistsException
. إذاto_view_name
كان مؤهلا ، فيجب أن يتطابق معto_view_name
view_name
مخطط .set_properties
تعيين خاصية واحدة أو أكثر معرفة من قبل المستخدم لطريقة عرض موجودة. الخصائص هي أزواج القيم الرئيسية. في حالة وجود مفاتيح الخصائص، يتم استبدال القيم بالقيم الجديدة. في حالة عدم وجود مفاتيح الخصائص، تتم إضافة أزواج قيم المفاتيح إلى الخصائص.
ALTER VIEW
البيان لا يدعمSET SERDE
أوSET SERDEPROPERTIES
خصائص.property_key
مفتاح الخاصية. يمكن أن يتكون المفتاح من معرف واحد أو أكثر مفصول بنقطة أو سلسلة حرفية.
يجب أن تكون مفاتيح الخصائص فريدة من نوعها.
property_val
القيمة الجديدة للعقار. يجب أن تكون القيمة حرفية منطقية أو سلسلة أو عدد صحيح أو عشري.
unset_properties
يزيل خاصية واحدة أو أكثر من الخصائص المعرفة من قبل المستخدم ل
view_name
.إذا كان موجودا
ما لم
IF EXISTS
يتم تحديد خطأ يتم مداهمته إذا لم يتم تعيين الخاصية.property_key
يمكن أن يتكون المفتاح من معرف واحد أو أكثر مفصول بنقطة أو سلسلة حرفية.
يجب أن تكون مفاتيح الخصائص فريدة من نوعها.
استعلام AS
استعلام يقوم بإنشاء طريقة العرض من الجداول الأساسية أو طرق العرض الأخرى.
يعادل هذا البند عبارة إنشاء طريقة عرض أو استبدالها في طريقة عرض موجودة.
المالك إلى المدير
نقل ملكية العرض إلى
principal
. ما لم يتم تعريف طريقة العرض في الملف،hive_metastore
يمكنك فقط نقل الملكية إلى مجموعة تنتمي إليها.
أمثلة
-- 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`