1. Trang chủ
  2. » Thể loại khác

su dung view trong sql

5 196 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 321,89 KB

Nội dung

http://vietjack.com/sql/index.jsp Copyright © vietjack.com Sử dụng View SQL Một view khơng khác ngồi mơt lệnh SQL mà lưu giữ Database với tên liên kết Một view thực thành phần bảng form truy vấn SQL định nghĩa trước Một view chứa tất hàng bảng hàng chọn từ bảng Một view tạo từ nhiều bảng, phụ thuộc vào truy vấn SQL viết để tạo view View, chất giống Virtual Table (bảng ảo), cho phép người dùng thực hiện:  Cấu trúc liệu theo cách mà người dùng tìm thấy tính tự nhiên tính trực quan  Giới hạn truy cập tới liệu người dùng thấy (đơi khi) sửa đổi cách xác họ cần  Tổng kết liệu từ bảng đa dạng để tạo báo cáo Tạo View SQL View tạo sử dụng lệnh CREATE VIEW Các view tạo từ bảng đơn, nhiều bảng từ view khác Để tạo view, người dùng phải trao quyền hệ thống thích hợp theo trình triển khai cụ thể Cú pháp lệnh CREATE VIEW SQL sau: CREATE VIEW ten_view AS SELECT cot1, cot2 FROM ten_bang WHERE [dieu_kien]; Bạn bao nhiều bảng lệnh SELECT theo cách tương tự bạn sử dụng chúng truy vấn SELECT thơng thường Ví dụ Bảng SINHVIEN có ghi sau: + + -+ -+ -+ + http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp | ID | TEN | TUOI| KHOAHOC Copyright © vietjack.com | HOCPHI | + + -+ -+ -+ -+ | | Hoang | 21 | CNTT | 4000000 | | Viet | 19 | DTVT | 3000000 | | Thanh | 18 | KTDN | | | Nhan | 19 | CK | 4500000 | | Huong | 20 | TCNH | 5000000 | | 4000000 | | | + + -+ -+ -+ -+ Bây ví dụ để tạo view từ bảng View sử dụng để có TEN TUOI sinh viên: SQL > CREATE VIEW SINHVIEN_VIEW AS SELECT TEN, TUOI FROM SINHVIEN; Bây giờ, bạn truy vấn SINHVIEN_VIEW theo cách tương tự bạn truy vấn bảng thực Sau ví dụ: SQL > SELECT * FROM SINHVIEN_VIEW; Ví dụ cho kết quả: + + -+ | TEN | TUOI | + + -+ | Hoang | 21 | | Viet | 19 | | Thanh | 18 | | Nhan | 19 | | Huong | 20 | + + -+ http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com WITH CHECK OPTION SQL WITH CHECK OPTION tùy chọn lệnh CREATE VIEW Mục đích WITH CHECK OPTION để bảo đảm tất UPDATE INSERT thỏa mãn điều kiện định nghĩa view Nếu chúng không thỏa mãn điều kiện, UPDATE INSERT trả lỗi Ví dụ sau tạo view SINHVIEN_VIEW với WITH CHECK OPTION CREATE VIEW SINHVIEN_VIEW AS SELECT TEN, TUOI FROM SINHVIEN WHERE TUOI IS NOT NULL WITH CHECK OPTION; Trong trường hợp này, WITH CHECK OPTION nên từ chối giá trị NULL cột TUOI view, view định nghĩa liệu mà khơng có giá trị NULL cột TUOI Cập nhật View SQL Một view cập nhật điều kiện cụ thể sau:  Mệnh đề SELECT khơng thể chứa từ khóa DISTINCT  Mệnh đề SELECT chứa hàm tổng  Mệnh đề SELECT chứa hàm tập hợp  Mệnh đề SELECT khơng thể chứa tốn tử tập hợp  Mệnh đề SELECT chứa mệnh đề ORDER BY  Mệnh đề FROM chứa nhiều bảng  Mệnh đề WHERE chứa truy vấn phụ  Truy vấn chứa GROUP BY HAVING  Các cột ước lượng bị cập nhật http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp  Copyright © vietjack.com Tất cột NOT NULL từ bảng ban đầu phải bao view truy vấn INSERT vận hành Vì thế, view thỏa mãn tất qui tắc trên, bạn cập nhật view Sau ví dụ cập nhật TUOI Hoang SQL > UPDATE SINHVIEN_VIEW SET TUOI = 20 WHERE TEN='Hoang'; Cuối cùng, bảng SINHVIEN ban đầu cập nhật theo view cập nhật Bây giờ, thử truy vấn bảng ban đầu, lệnh SELECT cho kết quả: + + -+ -+ -+ + | ID | TEN | TUOI| KHOAHOC | HOCPHI | + + -+ -+ -+ -+ | | Hoang | 20 | CNTT | 4000000 | | Viet | 19 | DTVT | 3000000 | | Thanh | 18 | KTDN | | | Nhan | 19 | CK | 4500000 | | Huong | 20 | TCNH | 5000000 | | 4000000 | | | + + -+ -+ -+ -+ Chèn hàng vào View SQL Các hàng liệu chèn vào view Các qui tắc áp dụng cho lệnh UPDATE áp dụng cho lệnh INSERT SQL Ở đây, chèn hàng vào SINHVIEN_VIEW không bao gồm tất cột NOT NULL view Chúng ta chèn hàng vào view theo cách tương tự bạn chèn chúng vào bảng Xóa hàng từ View SQL Các hàng liệu bị xóa từ view Các qui tắc áp dụng cho lệnh UPDATE lệnh INSERT áp dụng cho lệnh DELETE SQL Ví dụ sau xóa hàng có TUOI = 18 http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com SQL > DELETE FROM SINHVIEN_VIEW WHERE TUOI = 18; Cuối cùng, hàng bảng SINHVIEN ban đầu bị xóa kết tương tự với view Bây giờ, thử truy vấn bảng ban đầu, lệnh SELECT cho kết quả: + + -+ -+ -+ + | ID | TEN | TUOI| KHOAHOC | HOCPHI | + + -+ -+ -+ -+ | | Hoang | 21 | CNTT | 4000000 | | | Viet | 19 | DTVT | 3000000 | | | Nhan | 19 | CK | 4500000 | | | Huong | 20 | TCNH | 5000000 | + + -+ -+ -+ -+ Xóa View SQL Rõ ràng là, bạn có view, việc khơng cần thiết sử dụng view điều cần làm xóa chúng Cú pháp để xóa view SQL sau: DROP VIEW ten_view; Ví dụ sau để xóa SINHVIEN_VIEW từ bảng ban đầu DROP VIEW SINHVIEN_VIEW; http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... -+ -+ Xóa View SQL Rõ ràng là, bạn có view, việc khơng cần thiết sử dụng view điều cần làm xóa chúng Cú pháp để xóa view SQL sau: DROP VIEW ten _view; Ví dụ sau để xóa SINHVIEN _VIEW từ bảng... WITH CHECK OPTION; Trong trường hợp này, WITH CHECK OPTION nên từ chối giá trị NULL cột TUOI view, view định nghĩa liệu mà khơng có giá trị NULL cột TUOI Cập nhật View SQL Một view cập nhật điều... Chèn hàng vào View SQL Các hàng liệu chèn vào view Các qui tắc áp dụng cho lệnh UPDATE áp dụng cho lệnh INSERT SQL Ở đây, chèn hàng vào SINHVIEN _VIEW khơng bao gồm tất cột NOT NULL view Chúng ta

Ngày đăng: 02/12/2017, 12:14

TỪ KHÓA LIÊN QUAN

w