Tới nội dung chính
Danh mục
Hệ quản trị SQL

Tạo VIEW trong SQL Server

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.

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:

IDTENTUOIDIACHILUONG
1Thanh32Haiphong2000.00
2Loan25Hanoi1500.00
3Nga23Hanam2000.00
4Manh25Hue6500.00
5Huy27Hatinh8500.00
6Cao22HCM4500.00
7Lam24Hanoi10000.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à:

tentuoi
Thanh32
Loan25
Nga23
Manh25
Huy27
Cao22
Lam24

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.

Thảo Larskanis

@Thảo Larskanis

Lĩnh vực công nghệ thông tin, đặc biệt là cấu trúc dữ liệu ngày càng quan trọng và trở nên cần thiết hơn với nhiều doanh nghiệp. Nhận thấy rõ được tầm quan trọng của SQL, Thảo Nguyễn - người đã có nhiều năm học tập và làm việc trong lĩnh vực công nghệ thông tin đã quyết định thành lập một website chia sẻ kiến thức cũng như kinh nghiệm của bản thân về lĩnh vực SQL đến cho những bạn có đam mê và muốn hiểu rõ hơn về lĩnh vực này.