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 [free tuts .net]
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_id
, quantity
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.