Cõu lệnh CREATE VIEW được sử dụng để tạo ra khung nhỡn và cú cỳ phỏp như sau:
CREATE VIEW tờn_khung_nhỡn[(danh_sỏch_tờn_cột)] AS
cõu_lệnh_SELECT
Vớ dụ 3.11: Cõu lệnh dưới đõy tạo khung nhỡn cú tờn DSSV từ cõu lệnh SELECT truy vấn
dữ liệu từ hai bảng SINHVIEN và LOP
CREATE VIEW dssv AS SELECT masv,hodem,ten, DATEDIFF(YY,ngaysinh,GETDATE()) AS tuoi,tenlop FROM sinhvien,lop WHERE sinhvien.malop=lop.malop
và nếu thực hiện cõu lệnh:
SELECT * FROM dssv
Nếu trong cõu lệnh CREATE VIEW, ta khụng chỉ định danh sỏch cỏc tờn cột cho khung nhỡn, tờn cỏc cột trong khung nhỡn sẽ chớnh là tiờu đề cỏc cột trong kết quả của cõu lệnh SELECT. Trong trường hợp tờn cỏc cột của khung nhỡn đươc chỉ định, chỳng phải cú cựng số lượng với số lượng cột trong kết quả của cõu truy vấn.
Vớ dụ 3.12: Cõu lệnh dưới đõy tạo khung nhỡn từ cõu truy vấn tương tự như vớ dụ trờn
nhưng cú đặt tờn cho cỏc cột trong khung nhỡn:
CREATE VIEW dssv(ma,ho,ten,tuoi,lop) AS SELECT masv,hodem,ten, DATEDIFF(YY,ngaysinh,GETDATE()),tenlop FROM sinhvien,lop WHERE sinhvien.malop=lop.malop và cõu lệnh: SELECT * FROM dssv
Khi tạo khung nhỡn với cõu lệnh CREATE VIEW, ta cần phải lưu ý một số nguyờn tắc sau:
• Tờn khung nhỡn và tờn cột trong khung nhỡn, cũng giống như bảng, phải tuõn theo qui tắc định danh.
• Khụng thể qui định ràng buộc và tạo chỉ mục cho khung nhỡn.
• Cõu lệnh SELECT với mệnh đề COMPUTE ... BY khụng được sử dụng để định nghĩa khung nhỡn.
• Phải đặt tờn cho cỏc cột của khung nhỡn trong cỏc trường hợp sau đõy:
Trong kết quả của cõu lệnh SELECT cú ớt nhất một cột được sinh ra bởi một biểu thức (tức là khụng phải là một tờn cột trong bảng cơ sở) và cột đú khụng được đặt tiờu đề.
Tồn tại hai cột trong kết quả của cõu lệnh SELECT cú cựng tiờu đề cột.
Vớ dụ 3.13: Cõu lệnh dưới đõy là cõu lệnh sai do cột thứ 4 khụng xỏc định được tờn cột
CREATE VIEW tuoisinhvien AS
SELECT masv,hodem,ten,DATEDIFF(YY,ngaysinh,GETDATE()) FROM sinhvien