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_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.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Lệnh Create View2. Lệnh Update View3. Xem dữ...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Lệnh Create View2. Lệnh Update View3. Xem dữ liệu trong View4. Xóa View1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Lệnh Create View2. Lệnh Update View3. Xem dữ liệu trong View4. Xóa ViewV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Lệnh Create View2. Lệnh Update View3. Xem dữ liệu trong View4. Xóa ViewV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Lệnh Create View2. Lệnh Update View3. Xem dữ liệu trong View4. Xóa ViewIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện...