本文概述
在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;
srcmini
评论前必须登录!
注册