HCatalog - Xem

Chương này mô tả cách tạo và quản lý viewtrong HCatalog. Chế độ xem cơ sở dữ liệu được tạo bằng cách sử dụngCREATE VIEWtuyên bố. Các dạng xem có thể được tạo từ một bảng, nhiều bảng hoặc một dạng xem khác.

Để tạo chế độ xem, người dùng phải có các đặc quyền hệ thống thích hợp tùy theo cách triển khai cụ thể.

Tạo Tuyên bố Chế độ xem

CREATE VIEWtạo một khung nhìn với tên đã cho. Lỗi sẽ xảy ra nếu bảng hoặc dạng xem có cùng tên đã tồn tại. Bạn có thể dùngIF NOT EXISTS để bỏ qua lỗi.

Nếu không có tên cột nào được cung cấp, tên của các cột trong chế độ xem sẽ được lấy tự động từ defining SELECT expression.

Note - Nếu SELECT chứa các biểu thức vô hướng không phân biệt như x + y, tên cột chế độ xem kết quả sẽ được tạo ở dạng _C0, _C1, v.v.

Khi đổi tên cột, các chú thích cột cũng có thể được cung cấp. Nhận xét không được kế thừa tự động từ các cột bên dưới.

Câu lệnh TẠO CHẾ ĐỘ XEM sẽ không thành công nếu chế độ xem defining SELECT expression không có hiệu lực.

Cú pháp

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

Thí dụ

Sau đây là dữ liệu bảng nhân viên. Bây giờ chúng ta hãy xem cách tạo một dạng xem có tênEmp_Deg_View chứa các trường id, tên, Chức vụ và mức lương của một nhân viên có mức lương lớn hơn 35.000.

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

Sau đây là lệnh tạo khung nhìn dựa trên dữ liệu đã cho ở trên.

./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;"

Đầu ra

OK
Time taken: 5.3 seconds

Câu lệnh Drop View

DROP VIEW xóa siêu dữ liệu cho chế độ xem được chỉ định. Khi bỏ một chế độ xem được tham chiếu bởi các chế độ xem khác, không có cảnh báo nào được đưa ra (các chế độ xem phụ thuộc bị treo lơ lửng là không hợp lệ và người dùng phải bỏ hoặc tạo lại).

Cú pháp

DROP VIEW [IF EXISTS] view_name;

Thí dụ

Lệnh sau được sử dụng để thả một dạng xem có tên Emp_Deg_View.

DROP VIEW Emp_Deg_View;