تغيير طريقة العرض

تغيير بيانات التعريف المقترنة بعرض. يمكن تغيير تعريف طريقة العرض، وتغيير اسم طريقة عرض إلى اسم مختلف، وتعيين وفك بيانات التعريف الخاصة بطريقة العرض عن طريق إعداد TBLPROPERTIES .

RENAME

إعادة تسمية طريقة العرض الموجودة. إذا كان اسم طريقة العرض الجديدة موجود مسبقا في قاعدة البيانات المصدر، TableAlreadyExistsException يتم طرح. لا تعتمد هذه العملية نقل طرق العرض عبر قواعد البيانات.

إذا تم تخزين طريقة العرض مؤقتا، يقوم الأمر بمسح البيانات المخزنة مؤقتا للعرض وكافة التابعين له الذين يشيرون إليه. سيتم ملء ذاكرة التخزين المؤقت للعرض بشكل متكاسل عند الوصول إلى طريقة العرض في المرة القادمة. يترك الأمر التابعين للعرض ك uncached.

بناء الجملة

ALTER VIEW view_identifier RENAME TO view_identifier

المعلمات

  • view_identifier

    اسم طريقة عرض مؤهلة اختياريا باسم قاعدة بيانات.

    إعراب:

SET

تعيين خاصية أو أكثر من طريقة عرض موجودة. الخصائص هي أزواج القيمة الرئيسية. إذا كانت مفاتيح الخصائص موجودة، يتم استبدال القيم بالقيم الجديدة. إذا لم تكن موجودة مفاتيح الخصائص، يتم إضافة أزواج قيمة المفتاح إلى الخصائص.

بناء الجملة

ALTER VIEW view_identifier SET TBLPROPERTIES ( property_key = property_val [ , ... ] )

المعلمات

  • view_identifier

    اسم طريقة عرض مؤهلة اختياريا باسم قاعدة بيانات.

    إعراب:

  • property_key

    مفتاح الخاصية. يمكن أن يتكون المفتاح من أجزاء متعددة مفصولة بنقطة.

    إعراب:

خصائص عرض UNSET

إسقاط خاصية أو أكثر من طريقة عرض موجودة. إذا لم تكن المفاتيح المحددة موجودة، يتم طرح استثناء. يستخدم IF EXISTS لتجنب الاستثناء.

بناء الجملة

ALTER VIEW view_identifier UNSET TBLPROPERTIES [ IF EXISTS ]  ( property_key [ , ... ] )

المعلمات

  • view_identifier

    اسم طريقة عرض مؤهلة اختياريا باسم قاعدة بيانات.

    إعراب:

  • property_key

    مفتاح الخاصية. يمكن أن يتكون المفتاح من أجزاء متعددة مفصولة بنقطة.

    إعراب:

تغيير طريقة العرض كتحديد

تغيير تعريف طريقة العرض. SELECTيجب أن يكون البيان صالحا ويجب أن يكون view_identifier موجودا.

بناء الجملة

ALTER VIEW view_identifier AS select_statement

ALTER VIEW لا يعتمد العبارة SET SERDE أو SET SERDEPROPERTIES خصائص.

المعلمات

  • view_identifier

    اسم طريقة عرض مؤهلة اختياريا باسم قاعدة بيانات.

    إعراب:

  • select_statement

    تعريف طريقة العرض. راجع تحديد للحصول على التفاصيل.

أمثلة

-- Rename only changes the view name.
-- The source and target databases of the view have to be the same.
-- Use qualified or unqualified name for the source and target view.
ALTER VIEW tempdb1.v1 RENAME TO tempdb1.v2;

-- Verify that the new view is created.
DESCRIBE TABLE EXTENDED tempdb1.v2;
+----------------------------+----------+-------+
|                    col_name|data_type |comment|
+----------------------------+----------+-------+
|                          c1|       int|   null|
|                          c2|    string|   null|
|                            |          |       |
|# Detailed Table Information|          |       |
|                    Database|   tempdb1|       |
|                       Table|        v2|       |
+----------------------------+----------+-------+

-- Before ALTER VIEW SET TBLPROPERTIES
DESC TABLE EXTENDED tempdb1.v2;
+----------------------------+----------+-------+
|                    col_name| data_type|comment|
+----------------------------+----------+-------+
|                          c1|       int|   null|
|                          c2|    string|   null|
|                            |          |       |
|# Detailed Table Information|          |       |
|                    Database|   tempdb1|       |
|                       Table|        v2|       |
|            Table Properties|    [....]|       |
+----------------------------+----------+-------+

-- Set properties in TBLPROPERTIES
ALTER VIEW tempdb1.v2 SET TBLPROPERTIES ('created.by.user' = "John", 'created.date' = '01-01-2001' );

-- Use `DESCRIBE TABLE EXTENDED tempdb1.v2` to verify
DESC TABLE EXTENDED tempdb1.v2;
+----------------------------+-----------------------------------------------------+-------+
|                    col_name|                                            data_type|comment|
+----------------------------+-----------------------------------------------------+-------+
|                          c1|                                                  int|   null|
|                          c2|                                               string|   null|
|                            |                                                     |       |
|# Detailed Table Information|                                                     |       |
|                    Database|                                              tempdb1|       |
|                       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 tempdb1.v2 UNSET TBLPROPERTIES ('created.by.user', 'created.date');

--Use `DESC TABLE EXTENDED tempdb1.v2` to verify the changes
DESC TABLE EXTENDED tempdb1.v2;
+----------------------------+----------+-------+
|                    col_name| data_type|comment|
+----------------------------+----------+-------+
|                          c1|       int|   null|
|                          c2|    string|   null|
|                            |          |       |
|# Detailed Table Information|          |       |
|                    Database|   tempdb1|       |
|                       Table|        v2|       |
|            Table Properties|    [....]|       |
+----------------------------+----------+-------+

-- Change the view definition
ALTER VIEW tempdb1.v2 AS SELECT * FROM tempdb1.v1;

-- Use `DESC TABLE EXTENDED` to verify
DESC TABLE EXTENDED tempdb1.v2;
+----------------------------+---------------------------+-------+
|                    col_name|                  data_type|comment|
+----------------------------+---------------------------+-------+
|                          c1|                        int|   null|
|                          c2|                     string|   null|
|                            |                           |       |
|# Detailed Table Information|                           |       |
|                    Database|                    tempdb1|       |
|                       Table|                         v2|       |
|                        Type|                       VIEW|       |
|                   View Text|   select * from tempdb1.v1|       |
|          View Original Text|   select * from tempdb1.v1|       |
+----------------------------+---------------------------+-------+