- HCatalog 教程
- HCatalog - 首頁
- HCatalog - 簡介
- HCatalog - 安裝
- HCatalog - CLI
- HCatalog CLI 命令
- HCatalog - 建立表
- HCatalog - 修改表
- HCatalog - 檢視
- HCatalog - 顯示錶
- HCatalog - 顯示分割槽
- HCatalog - 索引
- HCatalog API
- HCatalog - 讀寫器
- HCatalog - 輸入輸出格式
- HCatalog - 載入器和儲存器
- HCatalog 有用資源
- HCatalog - 快速指南
- HCatalog - 有用資源
- HCatalog - 討論
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;
廣告