บทความนี้อธิบายวิธีสร้าง อัปเดต และลบ VIEW ใน SQL Server พร้อมไวยากรณ์และตัวอย่าง
VIEW ใน SQL Server คืออะไร
โดยทั่วไป VIEW เป็นตารางเสมือนที่ไม่มีอยู่ใน SQL Server มันถูกสร้างขึ้นโดยแบบสอบถามที่รวมตั้งแต่ 1 ตารางขึ้นไป
สร้าง VIEW ใน SQL Server
ไวยากรณ์
สร้างมุมมอง[ten_schema.]ten_view AS
[WITH { ENCRYPTION | SCHEMABINDING | VIEW_METADATA}
SELECT bieu_thuc
FROM bang
[WHERE dieu_kien
];
ten_schema
นี่คือชื่อของสคีมา (แปลว่า schema หรือเนมสเปซ) ที่เป็นของตาราง
ten_view
ชื่อของ VIEW ต้องการสร้าง
การเข้ารหัส
เข้ารหัสข้อความของคำสั่ง ALTER VIEW ใน sys.syscomments
SCHEMABINDING
ตรวจสอบให้แน่ใจว่าไม่มีการแก้ไขคำจำกัดความของตารางเพื่อไม่ให้มีผลกับ VIEW
VIEW_METADATA
ตรวจสอบให้แน่ใจว่า SQL Server มีข้อมูลเมตาของ VIEW
bieu_thuc
คอลัมน์หรือค่าจากการคำนวณที่ต้องการเพิ่มใน VIEW
ระบุ
คำจำกัดความของตาราง VIEW ต้องมีอย่างน้อย 1 ตารางในส่วนคำสั่ง FROM
WHERE dieu_kien
ตัวเลือก ต้องเป็นไปตามเงื่อนไขเพื่อให้บันทึกแสดงใน VIEW
ตัวอย่างเช่น
สร้าง VIEW sp_htk AS
SELECT sanpham.id_sanpham, sanpham.ten_sanpham, hangtonkho.chatluong
FROM sanpham
INNER JOIN hangtonkho
ON sanpham.id_sanpham = hangtonkho.id_sanpham
WHERE sanph
am.id_sanpham> =1,000;
คำสั่ง CREATE VIEW ด้านบนจะสร้างตารางเสมือนตามชุดผลลัพธ์ของคำสั่ง SELECT VIEW นี้จะมีชื่อว่า sp_htk
ขณะนี้คุณสามารถสืบค้น VIEW ได้ดังนี้
SELECT *
FROM s
p_htk;
อัปเดตมุมมอง
คุณสามารถแก้ไข VIEW ใน SQL Server ได้โดยไม่ต้องลบการสร้างใหม่โดยใช้คำสั่ง ALTER VIEW
ไวยากรณ์
ALTER VIEW [ten_schema.] ten_view AS
[WITH {ENCRYPTION | SCHEMABINDING | VIEW_METADATA}
SELECT bieu_thuc
FROM bang
WHERE d
ieu_kien;
ตัวอย่างเช่น
เปลี่ยนมุมมองsp_htk AS
SELECT sanpham.ten_sanpham, hangtonkho.soluong
FROM sanpham
INNER JOIN hangtonkho
ON sanpham.id_sanpham = hangtonkho.id_sanpham
WHERE sanpham.id_sanpham >= 500
AND sanpham.id_san
แพม <=1,000;
ตัวอย่างเช่น คำสั่ง ALTER VIEW ด้านบนจะอัปเดต VIEW ที่ชื่อ sp_htk โดยไม่ลบ ต้องมี VIEW ก่อนจึงจะสามารถรันคำสั่งอัพเดตได้
ลบมุมมอง
ไวยากรณ์
DROP VIEW ten_view;
ten_view
ชื่อของ VIEW ต้องการลบ
ตัวอย่างเช่น
<ก่อนหน้า> DROP VIEW sp_htk;คำสั่ง DROP VIEW นี้จะลบ VIEW ที่ชื่อ sp_htk ใน SQL Server