HCatalog - ดู

บทนี้อธิบายถึงวิธีการสร้างและจัดการไฟล์ viewใน HCatalog มุมมองฐานข้อมูลถูกสร้างขึ้นโดยใช้ไฟล์CREATE VIEWคำให้การ. มุมมองสามารถสร้างจากตารางเดียวหลายตารางหรือมุมมองอื่น

ในการสร้างมุมมองผู้ใช้ต้องมีสิทธิ์ของระบบที่เหมาะสมตามการนำไปใช้งานเฉพาะ

สร้าง View Statement

CREATE VIEWสร้างมุมมองด้วยชื่อที่กำหนด เกิดข้อผิดพลาดหากมีตารางหรือมุมมองที่มีชื่อเดียวกันอยู่แล้ว คุณสามารถใช้ได้IF NOT EXISTS เพื่อข้ามข้อผิดพลาด

หากไม่มีการระบุชื่อคอลัมน์ชื่อของคอลัมน์ของมุมมองจะได้รับโดยอัตโนมัติจากไฟล์ defining SELECT expression.

Note - หาก SELECT มีนิพจน์สเกลาร์ที่ไม่ใช้นามแฝงเช่น x + y ชื่อคอลัมน์มุมมองผลลัพธ์จะถูกสร้างขึ้นในรูปแบบ _C0, _C1 เป็นต้น

เมื่อเปลี่ยนชื่อคอลัมน์คุณสามารถให้ข้อคิดเห็นเกี่ยวกับคอลัมน์ได้ ข้อคิดเห็นไม่ได้รับการสืบทอดโดยอัตโนมัติจากคอลัมน์ที่อยู่ข้างใต้

คำสั่ง CREATE VIEW จะล้มเหลวหากมุมมอง defining SELECT expression ไม่ถูกต้อง

ไวยากรณ์

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 ประกอบด้วย id ฟิลด์ชื่อการกำหนดและเงินเดือนของพนักงานที่มีเงินเดือนมากกว่า 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 |
+------+-------------+--------+-------------------+-------+

ต่อไปนี้เป็นคำสั่งในการสร้างมุมมองตามข้อมูลที่กำหนดข้างต้น

./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 ลบข้อมูลเมตาสำหรับมุมมองที่ระบุ เมื่อวางมุมมองที่อ้างอิงโดยมุมมองอื่นจะไม่มีการแจ้งเตือนใด ๆ (มุมมองที่อ้างอิงจะถูกปล่อยให้ห้อยเป็นไม่ถูกต้องและผู้ใช้จะต้องทิ้งหรือสร้างขึ้นใหม่)

ไวยากรณ์

DROP VIEW [IF EXISTS] view_name;

ตัวอย่าง

คำสั่งต่อไปนี้ใช้เพื่อดร็อปมุมมองที่ชื่อ Emp_Deg_View.

DROP VIEW Emp_Deg_View;