个性化阅读
专注于IT技术分析

Oracle视图用法示例

点击下载

本文概述

在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
  3	         35	          70
  3	         26	         125
  3	         18	         100
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
      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;
赞(1)
未经允许不得转载:srcmini » Oracle视图用法示例

评论 抢沙发

评论前必须登录!