Oracle Create View创建视图
在 Oracle 中,View视图是物理上不存在的虚拟表。它存储在 Oracle 数据字典中,不存储任何数据。它可以在调用时执行。
View视图是通过连接一个或多个表的查询创建的。
一、Oracle 创建视图
创建视图的语法:
CREATE VIEW view_name AS
SELECT columns
FROM tables
WHERE conditions;
参数说明:
- view_name:它指定要创建的 Oracle VIEW 的名称。
创建视图的例子:
让我们举个例子来创建视图。在此示例中,我们首先创建两个表供应商和订单。
Suppliers表:
CREATE TABLE "SUPPLIERS"
( "SUPPLIER_ID" NUMBER,
"SUPPLIER_NAME" VARCHAR2(4000),
"SUPPLIER_ADDRESS" VARCHAR2(4000)
)
/
Orders表:
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 语句用于完全删除或删除 VIEW。
语法:
DROP VIEW view_name;
例子:
DROP VIEW sup_orders;
热门文章
优秀文章