ALTER VIEW

Görünümle ilişkili meta verileri değiştirme. Bu, görünümün tanımını değiştirebilir, görünümün adını farklı bir adla değiştirebilir, ayarını kullanarak görünümün meta verilerini ayarp kümelemiyor TBLPROPERTIES olabilir.

RENAME

Mevcut görünümü yeniden adlandırıyor. Yeni görünüm adı kaynak veritabanında zaten varsa, TableAlreadyExistsException bir oluşturur. Bu işlem görünümleri veritabanları arasında taşımayı desteklemez.

Sözdizimi

ALTER VIEW view_identifier RENAME TO view_identifier

Parametreler

  • view_identifier

    İsteğe bağlı olarak bir veritabanı adıyla nitelikli bir görünüm adı.

    Söz dizimi:[database_name.] view_name

SET

Mevcut bir görünümün bir veya daha fazla özelliklerini ayarlar. Özellikler, anahtar değer çiftleridir. Özelliklerin anahtarları varsa, değerler yeni değerlerle değiştirilir. Özelliklerin anahtarları yoksa, anahtar-değer çiftleri özelliklere eklenir.

Sözdizimi

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

Parametreler

  • view_identifier

    İsteğe bağlı olarak bir veritabanı adıyla nitelikli bir görünüm adı.

    Söz dizimi:[database_name.] view_name

  • property_key

    Özellik anahtarı. Anahtar, noktayla ayrılmış birden çok bölümden oluşuyor olabilir.

    Söz dizimi:[ key_part1 ] [ .key_part2 ] [ ... ]

UNSET görünüm özellikleri

Mevcut bir görünümün bir veya daha fazla özelliklerini görüntüler. Belirtilen anahtarlar yoksa bir özel durum oluşturur. Özel IF EXISTS durumu önlemek için kullanın.

Sözdizimi

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

Parametreler

  • view_identifier

    İsteğe bağlı olarak bir veritabanı adıyla nitelikli bir görünüm adı.

    Söz dizimi:[database_name.] view_name

  • property_key

    Özellik anahtarı. Anahtar, noktayla ayrılmış birden çok bölümden oluşuyor olabilir.

    Söz dizimi:[ key_part1 ] [ .key_part2 ] [ ... ]

ALTER VIEW AS SELECT

Görünümün tanımını değiştirir. deyimi SELECT geçerli ve mevcut view_identifier olmalıdır.

Syntax

ALTER VIEW view_identifier AS select_statement

ALTER VIEW deyimi veya SET SERDE özelliklerini SET SERDEPROPERTIES desteklemez.

Parametreler

  • view_identifier

    İsteğe bağlı olarak bir veritabanı adıyla nitelikli bir görünüm adı.

    Söz dizimi:[database_name.] view_name

  • Select_statement

    Görünümün tanımı. Ayrıntılar için bkz. SELECT.

Örnekler

-- 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|       |
+----------------------------+---------------------------+-------+