Oracle中的视图是什么?
答案 0 :(得分:127)
在Oracle中查看和其他数据库系统只是表示存储在内存中的SQL语句,因此可以轻松地重复使用。例如,如果我们经常发出以下查询
SELECT customerid, customername FROM customers WHERE countryid='US';
要创建视图,请使用 CREATE VIEW命令,如本例所示
CREATE VIEW view_uscustomers
AS
SELECT customerid, customername FROM customers WHERE countryid='US';
此命令创建一个名为view_uscustomers的新视图。请注意,除了定义此视图的数据字典条目外,此命令根本不会导致实际存储在数据库中的任何内容。这意味着每次查询此视图时,Oracle都必须执行视图并查询数据库数据。我们可以像这样查询视图:
SELECT * FROM view_uscustomers WHERE customerid BETWEEN 100 AND 200;
Oracle会将查询转换为:
SELECT *
FROM (select customerid, customername from customers WHERE countryid='US')
WHERE customerid BETWEEN 100 AND 200
使用观看的好处
您可以在本文中找到有关“How to Create and Manage Views in Oracle。”
的高级主题答案 1 :(得分:12)
如果你喜欢Views的想法,但是担心性能,你可以让Oracle创建一个缓存表来表示oracle保持最新的视图。
见materialized views
答案 2 :(得分:4)
常规视图----->查询的简称,此处不使用额外的空格
物化视图---->类似于创建表,其数据将根据用于创建视图的数据查询定期刷新
答案 3 :(得分:2)
视图是一个虚拟表,可以从一个或多个表中访问列的子集。视图可以从一个或多个表中获取其数据。查询的输出可以存储为视图。查看就像小桌子一样,但它不会占用任何空间。 View是直接访问表中特定用户的数据的好方法。 oracle中的视图只是存储的sql脚本。视图本身不包含任何数据。
答案 4 :(得分:2)
视图只是已赋予名称并保存在数据库中的任何SELECT
查询。因此,视图有时称为命名查询或存储查询。要创建视图,请使用SQL语法:
CREATE OR REPLACE VIEW <view_name> AS
SELECT <any valid select query>;