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 和薪水。
+------+-------------+--------+-------------------+-------+
|  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;
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4