Bài giảng SQL Server 2005 - Chương VI: View - Bảng ảo - Phạm Mạnh Cương
I- Khái niệm :
View là đối tượng dùng lưu trữ một phát biểu Select.
• View được xem như là một Table có cấu trúc và dữ liệu trả
về bởi phát biểu Select
Do đó View được dùng trong:
• Mệnh đề FROM của phát biểu Select khác
• Các phát biểu Insert, Update, Delete để cập nhật dữ liệu
trên Table nguồn của View.
Bạn đang xem tài liệu "Bài giảng SQL Server 2005 - Chương VI: View - Bảng ảo - Phạm Mạnh Cương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng SQL Server 2005 - Chương VI: View - Bảng ảo - Phạm Mạnh Cương
CHƯƠNG VI VIEW – BẢNG ẢO Giảng viên : Phạm Mạnh Cương 1 I- Khái niệm : 2 • View là đối tượng dùng lưu trữ một phát biểu Select . • View được xem như là một Table có cấu trúc và dữ liệu trả về bởi phát biểu Select Do đó View được dùng trong : • Mệnh đề FROM của phát biểu Select khác • Các phát biểu Insert, Update, Delete để cập nhật dữ liệu trên Table nguồn của View. II- Tạo VIEW 3 1. Bằng Lệnh CREATE VIEW 2. Bằng công cụ quản lý Management 1- Bằng Lệnh CREATE VIEW: 4 Cú pháp : CREATE VIEW view_name [ () ] [WITH ENCRYPTION] AS [WITH CHECK OPTION] Ví dụ : 1. Tạo view liệt kê các mặt hàng đ ã ghi trên hóa đơn số 10248 gồm m ã số, tên , tiền bán các mặt hàng đó. 2. Tạo View liệt kê danh sách hóa đơn đã ghi trong ngày với cấu trúc : SoHD , NgayHD , TienHD từ table HoaDon và CTHD 5 Thay đổi dữ liệu trên Table nguồn của View 6 CREATE VIEW vwCTHD ( SoHD , MaMH , SoLuong ) AS SELECT SoHD , MaMH , SL FROM CTHD Where SoHD = 10248 Go INSERT vwCTHD(SoHD , MaMH , SoLuong ) VALUES(10248,1,20) INSERT vwCTHD(SoHD , MaMH , SoLuong ) VALUES(10249,1,20) UPDATE vwCTHD SET SoLuong = SoLuong + 10 WHERE SoHD = 10249 DELETE vwCTHD WHERE SoHD = 10249 Hạn chế của View trong phát biểu cập nhật : 7 • Không thể sử dụng View để cập nhật dữ liệu trên table , nếu mệnh đề Select có chứa hàm tổng hợp , chứa cột tính toán hoặc có chứa từ khóa TOP, Group By, hoặc Distinct . • Phát biểu DELETE chỉ sử dụng trên View có 1 table nguồn . • Phát biểu INSERT hay UPDATE chỉ thay đổi dữ liệu trên 1 Table của mệnh đề From . CREATE VIEW vwCTHD1 AS Select SoHD , CTHD.MaMH , TenMH , SL, DGBan From MatHang Inner Join CTHD On MatHang.MaMH = CTHD.MaMH Go Insert vwCTHD1(SoHD, MaMH , SL) Values(10248,1,20) Insert vwCTHD1(SoHD, MaMH , SL) Values(10249,1,20) WITH CHECK OPTION Ràng buộc dữ liệu cập nhật theo điều kiện Where 8 CREATE VIEW vwCTHD2 ( SoHD , MaMH , SoLuong ) AS SELECT SoHD , MaMH , SL FROM CTHD WHERE SoHD = 10248 WITH CHECK OPTION Go UPDATE vwCTHD2 SET SoLuong = SoLuong + 10 INSERT vwCTHD2(SoHD,MaMH,SoLuong) VALUES(10248,1,20) INSERT vwCTHD2(SoHD,MaMH,SoLuong) VALUES(10249,1,20) Error : The attempted insert or update failed because the target view either specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK OPTION and one or more rows resulting from the operation did not qualify under the CHECK OPTION constraint. 2- Bằng công cụ Manage 9 • Click phải mục Views trên khung trái và chọn New View • Click nút Add Table để chọn bảng nguồn • Chọn Field và khai báo thuộc tính cho các Field • Click nút Execute SQL để thực hiện truy vấn • Click nút Save để lưu và đặt tên View Màn hình thiết kế 10 CẢM ƠN 11
File đính kèm:
- bai_giang_sql_server_2005_chuong_vi_view_bang_ao_pham_manh_c.ppt