View là một bảng ảo trong SQL Server được tạo ra bởi các câu lệnh. Vậy cụ thể, sử dụng câu lệnh tạo view trong SQL như thế nào? Hãy cùng theo dõi bài viết sau để xem hướng dẫn cụ thể và chi tiết.
Mục lục
1. Cách tạo view trong SQL
Trong SQL Server, để tạo ra view người ta sẽ sử dụng câu lệnh CREATE VIEW. Có nhiều cách để tạo view, ví dụ tạo từ bảng đơn, nhiều bảng hoặc là từ view khác. Cụ thể cú pháp create view trong sql như sau:
CREATE VIEW ten_view AS
SELECT cot1, cot2…..
FROM ten_bang
WHERE [dieu_kien];
Trong câu lệnh SELECT có thể tạo thêm nhiều bảng. Cách tạo tương tự như khi viết câu truy vấn SQL SELECT bình thường.
2. Ví dụ về VIEW trong SQL
Ví dụ, chúng ta có một bảng NHANVIEN. Trong bảng có các nội dung:
ID | TEN | TUOI | DIACHI | LUONG |
1 | Thanh | 32 | Haiphong | 2000.00 |
2 | Loan | 25 | Hanoi | 1500.00 |
3 | Nga | 23 | Hanam | 2000.00 |
4 | Manh | 25 | Hue | 6500.00 |
5 | Huy | 27 | Hatinh | 8500.00 |
6 | Cao | 22 | HCM | 4500.00 |
7 | Lam | 24 | Hanoi | 10000.00 |
Cách tạo view trong sql từ bảng NHANVIEN (dùng để lấy tên, tuổi trong bảng) như sau:
SQL > CREATE VIEW NHANVIEN_VIEW AS
SELECT ten, tuoi
FROM NHANVIEN;
Tiếp theo các bạn có thể truy vấn NHANVIEN_VIEW giống với các truy vấn trên bảng thực tế, cụ thể:
SQL > SELECT * FROM NHANVIEN_VIEW;
Kết quả nhận được là:
ten | tuoi |
Thanh | 32 |
Loan | 25 |
Nga | 23 |
Manh | 25 |
Huy | 27 |
Cao | 22 |
Lam | 24 |
3. With Check Option trong SQL
Nội dung tiếp theo trong bài viết hướng dẫn tạo view trong sql này chính là cách sử dụng With Check Option, đây là một tùy trong trong lệnh CREATE VIEW. Khi sử dụng tùy chọn này có thể bảo đảm các UPDATE và INSERT sẽ thỏa mãn được những điều kiện định nghĩa VIEW nêu ra. Trường hợp không thỏa mãn điều kiện thì khi thực hiện UPDATE, INSERT sẽ trả về một lỗi.
Ví dụ, thực hiện tạo view trong sql server NHANVIEN_VIEW với tùy chọn With Check Option:
CREATE VIEW NHANVIEN_VIEW AS
SELECT ten, tuoi
FROM NHANVIEN
WHERE tuoi IS NOT NULL
WITH CHECK OPTION;
Nếu như người dùng cố gắng thực hiện UPDATE hay INSERT NHANVIEN_VIEW với giá trị tuoi=null thì sẽ xảy ra lỗi. Còn nếu giá trị tuoi khác null thì sẽ thành công.
4. UPDATE một view trong SQL
Các bạn có thể thực hiện UPDATE một view trong SQL bằng lệnh ALTER VIEW. Cụ thể, cú pháp như sau:
ALTER VIEW [ten_schema.] ten_view AS
[WITH {ENCRYPTION | SCHEMABINDING | VIEW_METADATA}
SELECT bieu_thuc
FROM bang
WHERE dieu_kien;
Ví dụ về một trường hợp cần UPDATE một view trong SQL, ta sẽ có:
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;
Trong ví dụ trên, các bạn sử dụng lệnh ALTER VIEW để cập nhật mới VIEW có tên sp_htk mà không cần phải xóa view cũ để tạo view mới.
5. Chèn hàng VIEW trong SQL
Các bạn có thể chèn thêm hàng dữ liệu vào trong view và quy tắc cũng giống như UPDATE vậy. Trường hợp này sẽ sử dụng câu lệnh INSERT.
Khi chèn hàng sẽ không thể chèn vào trong NHANVIEN_VIEW vì không thể thực hiện SELECT tất cả các cột NOT NULL từ bảng ban đầu được. Chúng ta sẽ thực hiện chèn hàng mới vào trong một VIEW giống với chèn trong một bảng.
6. Xóa VIEW
Để thực hiện xóa VIEW chúng ta sẽ sử dụng cú pháp DROP VIEW. Cụ thể:
DROP VIEW ten_view;
ten_view
Tên của VIEW muốn xóa.
Ví dụ
DROP VIEW NHANVIEN_VIEW;
Khi thực hiện lệnh này các bạn sẽ xóa được VIEW tên NHANVIEN_VIEW.
Như vậy là chúng tôi đã chia sẻ cho các bạn cách tạo view trong SQL như thế nào và một số câu lệnh khác liên quan tới view. Hy vọng những thông tin trên sẽ hữu ích với các bạn.