Làm thế nào để tạo View trong cơ sở dữ liệu Oracle Database ? Hôm nay chúng tôi sẽ hướng dẫn các bạn hiểu View là gì và cách tạo View trong Oracle Database.
View là một bảng ảo, có chế độ xem giống bảng Table.
View là được tạo ra từ câu lệnh SELECT, nó là kết quả của câu lệnh select từ một hoặc nhiều bảng.
View không lưu trữ dữ liệu, nhưng bảng Table có thể lưu trữ dữ liệu.
View không thể thêm, sửa, xóa dữ liệu nhưng bảng Table có thể thêm, sửa, xóa dữ liệu.
Lệnh tạo View trong Oracle PL/SQL như sau:
CREATE OR REPLACE VIEW view_name AS
SELECT columns
FROM tables
WHERE conditions;
Giải thích:
CREATE OR REPLACE VIEW : là câu lệnh tạo View
view_name : là tên của View mà bạn cần tạo.
columns : là tên các cột bạn cần lấy thông tin.
Tables : là tên bảng dữ liệu bạn cần lấy thông tin dữ liệu.
Conditions : là điều kiện lọc dữ liệu.
Giả sử chúng ta cần tạo một View có tên là V_Nhanvien dùng để lấy các thông tin của nhân viên có mức lương lớn hơn 50000 từ bảng Nhanvien như sau:
- Nhập tên View và tham số: Tên view là: V_NHANVIEN, các tham số bạn có thể viết sau.
-View đã được PL/SQL Developer tạo ra, sau đó bạn cần sửa các tham số và viết code cho View này theo ý của bạn.
-Sửa và viết View như sau:
CREATE OR REPLACE VIEW V_Nhanvien AS
SELECT Nhanvien_ID, Nhanvien_Name, Nhanvien_Salary, Nhanvien_Phone
FROM Nhanvien
WHERE Nhanvien_Salary > 50000;
Sau khi tạo View xong, làm thế nào để xem View ?
Vì View có dạng là một bảng (Table) nên bạn có thể sử dụng lệnh SELECT để gọi View.
SELECT * FROM view_name ;
Ví dụ gọi View V_Nhanvien để lấy thông tin dữ liệu như sau:
SELECT * FROM V_Nhanvien ;
Kết quả:
Để sửa hoặc cập nhật View thì các bạn dùng lệnh CREATE OR REPLACE VIEW, lệnh này nó sẽ tạo View mới chưa tồn tại hoặc cho phép sửa và cập nhật View cũ đã tồn tại.
CREATE OR REPLACE VIEW view_name AS
SELECT columns
FROM tables
WHERE conditions;
Ví dụ chúng ta cần sửa một View có tên là V_Nhanvien để lấy các thông tin của nhân viên có mức lương lớn hơn 60000 và số điện thoại là 0949611229 từ bảng Nhanvien như sau:
CREATE OR REPLACE VIEW V_Nhanvien AS
SELECT Nhanvien_ID, Nhanvien_Name, Nhanvien_Salary, Nhanvien_Phone
FROM Nhanvien
WHERE Nhanvien_Salary > 60000 AND Nhanvien_Phone='0949611229';
Sử dụng lệnh DROP VIEW để xóa View.
DROP VIEW view_name ;
Ví dụ xóa View có tên là V_Nhanvien như sau:
DROP VIEW V_Nhanvien ;
- Ngoài cách xóa View bằng câu lệnh Drop như trên bạn có thể xóa bằng PL/SQL Developer như sau: