Oracle教程

Oracle 视图

在Oracle中,视图是一个物理上不存在的虚拟表。它存储在Oracle数据字典中,不存储任何数据。可以在调用时执行。
通过连接一个或多个表的查询创建视图。

Oracle CREATE VIEW

语法:
CREATE VIEW view_name AS
SELECT columns
FROM tables
WHERE conditions;
参数:
view_name: : 它指定要创建的Oracle VIEW的名称。
示例:
让我们以创建视图为例。在此示例中,我们先创建两个表SUPPLIERS和订单。
SUPPLIERS表:
CREATE TABLE  "SUPPLIERS"
   (    "SUPPLIER_ID" NUMBER, 
    "SUPPLIER_NAME" VARCHAR2(4000), 
    "SUPPLIER_ADDRESS" VARCHAR2(4000)
   )
/
 
订单表:
CREATE TABLE  "ORDERS" 
   (    "ORDER_NO." NUMBER, 
    "QUANTITY" NUMBER, 
    "PRICE" NUMBER
   )
/
执行以下查询以创建视图名称sup_orders。
创建视图查询:
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 = 'VOJO';
输出:
View created.
0.21 seconds
您现在可以通过以下查询检查Oracle VIEW:
SELECT * FROM sup_orders;
输出:
SUPPLIER_ID QUANTITY    PRICE
  3          35           70
  3          26          125
  3          18          100
3 rows returned in 0.00 seconds

Oracle Update VIEW

在Oracle中,CREATE OR REPLACE VIEW语句用于修改Oracle VIEW的定义而不删除它。
语法:
CREATE OR REPLACE VIEW view_name AS
  SELECT columns
  FROM table
  WHERE conditions; 
示例:
执行以下查询以更新名为sup_orders的Oracle VIEW的定义,而不会将其删除。
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 = 'HCL';
您现在可以通过以下查询检查Oracle VIEW:
SELECT * FROM sup_orders;
输出:
SUPPLIER_ID QUANTITY    PRICE
      1          35          70
      1          26         125
      1          18         100
row(s) 1-3 of 3     

Oracle DROP VIEW

DROP VIEW语句用于完全删除或删除VIEW。
语法:
DROP VIEW view_name;
示例:
DROP VIEW sup_orders;
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4