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;