Chương VI View – Bảng ảo

• 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.

ppt10 trang | Chia sẻ: lylyngoc | Lượt xem: 1512 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Chương VI View – Bảng ảo, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG VI VIEW – BẢNG ẢO Giảng viên: 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. II- Tạo VIEW * 1. Bằng Lệnh CREATE VIEW 2. Bằng công cụ quản lý Management 1- Bằng Lệnh CREATE VIEW: * 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 * Thay đổi dữ liệu trên Table nguồn của View * 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: * • 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 * 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 * • 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ế * CẢM ƠN *