06/04/2021, 14:51

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

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

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:

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:

Suppliers table
CREATE TABLE  "SUPPLIERS"  
   (    "SUPPLIER_ID" NUMBER,   
    "SUPPLIER_NAME" VARCHAR2(4000),   
    "SUPPLIER_ADDRESS" VARCHAR2(4000)  
   )  

Orders table
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.

Cú pháp
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.

fádfád
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:

Cú pháp
DROP VIEW view_name;

Ví dụ
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.

 

Trần Trung Dũng

15 chủ đề

2610 bài viết

Cùng chủ đề
0