HCatalog - 檢視



本章介紹如何在 HCatalog 中建立和管理檢視。資料庫檢視使用CREATE VIEW語句建立。檢視可以從單個表、多個表或其他檢視建立。

要建立檢視,使用者必須根據特定實現擁有相應的系統許可權。

建立檢視語句

CREATE VIEW建立具有給定名稱的檢視。如果已存在同名表或檢視,則會丟擲錯誤。您可以使用IF NOT EXISTS跳過錯誤。

如果未提供列名,則檢視列的名稱將從定義的 SELECT 表示式自動派生。

注意 - 如果 SELECT 包含未加別名的標量表達式(例如 x+y),則生成的檢視列名將以 _C0、_C1 等形式生成。

重新命名列時,還可以提供列註釋。註釋不會從底層列自動繼承。

如果檢視的定義的 SELECT 表示式無效,則 CREATE VIEW 語句將失敗。

語法

CREATE VIEW [IF NOT EXISTS] [db_name.]view_name [(column_name [COMMENT column_comment], ...) ]
[COMMENT view_comment]
[TBLPROPERTIES (property_name = property_value, ...)]
AS SELECT ...;

示例

以下是員工表資料。現在讓我們看看如何建立一個名為Emp_Deg_View的檢視,其中包含薪資大於 35,000 的員工的 id、name、Designation 和 salary 欄位。

+------+-------------+--------+-------------------+-------+
|  ID  |    Name     | Salary |    Designation    | Dept  |
+------+-------------+--------+-------------------+-------+
| 1201 |    Gopal    | 45000  | Technical manager |  TP   |
| 1202 |   Manisha   | 45000  | Proofreader       |  PR   |
| 1203 | Masthanvali | 30000  | Technical writer  |  TP   |
| 1204 |    Kiran    | 40000  | Hr Admin          |  HR   |
| 1205 |   Kranthi   | 30000  | Op Admin          | Admin |
+------+-------------+--------+-------------------+-------+

以下是在上述給定資料的基礎上建立檢視的命令。

./hcat –e "CREATE VIEW Emp_Deg_View (salary COMMENT ' salary more than 35,000')
   AS SELECT id, name, salary, designation FROM employee WHERE salary ≥ 35000;"

輸出

OK
Time taken: 5.3 seconds

刪除檢視語句

DROP VIEW 刪除指定檢視的元資料。刪除其他檢視引用的檢視時,不會給出任何警告(依賴檢視將保留為無效,並且必須由使用者刪除或重新建立)。

語法

DROP VIEW [IF EXISTS] view_name;

示例

以下命令用於刪除名為Emp_Deg_View的檢視。

DROP VIEW Emp_Deg_View;
廣告

© . All rights reserved.