Các lệnh quản lý View trong Oracle

Bài tiếp theo này mình sẽ giới thiệu với các bạn một loại table rất đặc biệt, loại này ta sẽ gọi là view. View là một dạng table đặc biệt, là một table ảo và không hề tồn tại trong danh sách table vật lý vì nó được tạo ra khi câu lệnh được thực hiện.

Đặc điểm khá thú vị của View đó là dữ liệu của nó có thể lấy từ nhiều bảng khác nhau, bởi vì nó được tạo ra từ câu lệnh select, mà trong lệnh select thì có thẻ join nhiều bảng.

Sau đây sẽ là chi tiết về cách tạo View trong Oracle.

1. Lệnh Create View

Để tạo một view ta sử dụng cú pháp sau:

Bài viết này được đăng tại [kiso.vn]

CREATE VIEW view_name AS  
SELECT columns  
FROM tables  
WHERE conditions;  

Trong đó view_name là tên view mà bạn muốn tạo, còn các tham số khác thì bạn quá quen thuộc rồi phải không nào 😉

Giả sử ta có hai bảng như sau:

CREATE TABLE  "SUPPLIERS"  
   (    "SUPPLIER_ID" NUMBER,   
    "SUPPLIER_NAME" VARCHAR2(4000),   
    "SUPPLIER_ADDRESS" VARCHAR2(4000)  
   )  
CREATE TABLE  "ORDERS"   
   (    "ORDER_NO." NUMBER,   
    "QUANTITY" NUMBER,   
    "PRICE" NUMBER  
   )  

Bây giờ mình sẽ tạo một view với dữ liệu là tất cả đơn hàng của nhà cung cấp có tên là SAM SUNG.

CREATE VIEW sup_orders AS  
SELECT suppliers.supplier_id, orders.quantity, orders.price  
FROM suppliers  
INNER JOIN orders  
ON suppliers.supplier_id = supplier_id  
WHERE suppliers.supplier_name = 'SAM SUNG'; 

Sau khi chạy lệnh này là ta đã có một view gồm 3 column supplier_idquantity và price.

2. Lệnh Update View

Để cập nhật View thì bạn sẽ dùng lệnh CREATE OR REPLACE VIEW, lệnh này nó sẽ tạo view mới nếu chưa tồn tại, hoặc cập nhật view cũ nếu đã tồn tại.

CREATE OR REPLACE VIEW view_name AS  
  SELECT columns  
  FROM table  
  WHERE conditions;

Quay lại ví dụ ở trên, mình muốn cập nhật lại view sẽ chứa danh sách order của nhà cung câp tên là NOKIA.

CREATE or REPLACE VIEW sup_orders AS  
  SELECT suppliers.supplier_id, orders.quantity, orders.price  
  FROM suppliers  
  INNER JOIN orders  
  ON suppliers.supplier_id = supplier_id  
  WHERE suppliers.supplier_name = 'NOKIA';  

3. Xem dữ liệu trong View

Vì View cũng là một dạng table nên bạn có thể sử dụng lệnh SELECT.

SELECT * FROM sup_orders; 

4. Xóa View

Để xóa view thì ta sử dụng lệnh DROP VIEW với cú pháp như sau:

DROP VIEW view_name;
DROP VIEW sup_orders; 

Như vậy là mình đã giới thiệu xong một số tính năng của View trong Oracle, hy vọng bài viết này sẽ hữu ích với các bạn.

Bài này mình dừng tại đây, bài tiếp theo ta sẽ bàn về các lệnh query dùng để xử lý dữ liệu của bảng như lệnh select, delete, insert, update.

 

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *