Oracle视图用法示例

本文概述

  • Oracle创建视图
  • Oracle更新视图
  • Oracle DROP VIEW
在Oracle中, 视图是实际上并不存在的虚拟表。它存储在Oracle数据字典中, 不存储任何数据。可以在调用时执行。
通过连接一个或多个表的查询创建视图。
Oracle创建视图句法:
CREATE VIEW view_name AS SELECT columns FROM tables WHERE conditions;

参数:
  • view_name:它指定要创建的Oracle VIEW的名称。
例:
让我们以创建视图为例。在此示例中, 我们将首先创建两个表供应商和订单。
供应商表:
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 33570 326125 318100 3 rows returned in 0.00 seconds

Oracle更新视图在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 13570 126125 118100 row(s) 1 - 3 of 3

Oracle DROP VIEW【Oracle视图用法示例】DROP VIEW语句用于完全删除或删除VIEW。
句法:
DROP VIEW view_name;

例:
DROP VIEW sup_orders;

    推荐阅读