个性化阅读
专注于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视图用法示例

评论 抢沙发

评论前必须登录!