Bài viết giải thích cách tạo, cập nhật và xóa XEM trong SQL Server với cú pháp và ví dụ.
XEM 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 bởi một truy vấn kết hợp 1 hoặc nhiều bảng.
Tạo CHẾ ĐỘ XEM 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
];
ten_schema
Đây là tên của lược đồ (tạm dịch là giản đồ hoặc không gian tên) mà bảng thuộc về.
ten_view
Tên của CHẾ ĐỘ XEM muốn tạo.
THAM GIA
Mã hóa văn bản của lệnh ALTER VIEW trong sys.syscomments.
SCHEMABINDING
Đảm bảo định nghĩa bảng không được sửa đổi để không ảnh hưởng đến XEM.
VIEW_METADATA
Đảm bảo SQL Server có siêu dữ liệu VIEW.
bieu_thuc
Các cột hoặc giá trị được tính toán muốn thêm vào XEM.
trạng thái
XEM định nghĩa bảng. Phải có ít nhất 1 bảng trong mệnh đề FROM.
WHERE dieu_kien
Tùy chọn. Các điều kiện phải đáp ứng để bản ghi được 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 sanph
am.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. XEM này sẽ được đặt tên là sp_htk.
Bây giờ bạn có thể truy vấn XEM như bên dưới.
SELECT *
FROM s
p_htk;
CHẾ ĐỘ XEM đã cập nhật
Bạn có thể chỉnh sửa CHẾ ĐỘ XEM trong SQL Server mà không cần xóa 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 d
ieu_kien;
Ví dụ:
ALTER VIEWsp_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
pham <= 1000;
Ví dụ:lệnh ALTER VIEW ở trên sẽ cập nhật VIEW có tên sp_htk mà không cần xóa. VIEW cần tồn tại trước khi có thể thực thi lệnh cập nhật.
Xóa CHẾ ĐỘ XEM
Cú pháp
DROP VIEW ten_view;
ten_view
Tên của VIEW muốn xóa.
Ví dụ:
DROP VIEW sp_htk;
Lệnh DROP VIEW này sẽ xóa VIEW có tên sp_htk trong SQL Server.