Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL Server

VIEW trong SQL Server

Bài viết giải thích cách tạo, cập nhật và xóa VIEW trong SQL Server với cú pháp và ví dụ.

VIEW trong SQL Server là gì?

Về cơ bản, VIEW là một bảng ảo không thực sự tồn tại trong SQL Server. Nó được tạo ra bởi một truy vấn kết hợp 1 hoặc nhiều bảng.

Tạo VIEW trong SQL Server

Cú pháp

CREATE VIEW [ten_schema.]ten_view AS
 [WITH { ENCRYPTION | SCHEMABINDING | VIEW_METADATA }]
 SELECT bieu_thuc
 FROM bang
 [WHERE dieu_kien];

Tham số

ten_schema: Tên schema (lược đồ) mà bảng thuộc về.

ten_view: Tên VIEW muốn tạo.

ENCRYPTION: Mã hóa văn bản lệnh ALTER VIEW trong sys.syscomments.

SCHEMABINDING: Đảm bảo định nghĩa bảng không bị sửa đổi ảnh hưởng đến VIEW.

VIEW_METADATA: Đảm bảo SQL Server có metadata của VIEW.

bieu_thuc: Cột hoặc giá trị tính toán muốn thêm vào VIEW.

bang: Bảng định nghĩa VIEW. Phải có ít nhất 1 bảng trong mệnh đề FROM.

WHERE dieu_kien: Tùy chọn. Điều kiện phải thỏa mãn để bản ghi hiển thị trong VIEW.

Ví dụ

CREATE 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 sanpham.id_sanpham >= 1000;

Lệnh CREATE VIEW trên sẽ tạo một bảng ảo dựa trên tập kết quả của câu lệnh SELECT. VIEW này sẽ được đặt tên là sp_htk.

Bây giờ bạn có thể truy vấn VIEW như sau.

SELECT *
FROM sp_htk;

Cập nhật VIEW

Bạn có thể sửa đổi VIEW trong SQL Server mà không cần xóa và tạo mới bằng lệnh ALTER VIEW.

Cú pháp

ALTER VIEW [ten_schema.] ten_view AS
 [WITH {ENCRYPTION | SCHEMABINDING | VIEW_METADATA}]
 SELECT bieu_thuc
 FROM bang
 WHERE dieu_kien;

Ví dụ

ALTER VIEW 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_sanpham <= 1000;

Ví dụ lệnh ALTER VIEW trên sẽ cập nhật VIEW tên sp_htk mà không xóa. VIEW phải tồn tại trước khi thực thi lệnh cập nhật.

Xóa VIEW

Cú pháp

DROP VIEW ten_view;

Tham số

ten_view: Tên VIEW muốn xóa.

Ví dụ

DROP VIEW sp_htk;

Lệnh DROP VIEW này sẽ xóa VIEW tên sp_htk trong SQL Server.