Oracle中的视图是什么?
View in Oracle 和其他数据库系统只是表示存储在内存中的SQL语句,因此可以轻松地重复使用 . 例如,如果我们经常发出以下查询
SELECT customerid, customername FROM customers WHERE countryid='US';
要创建视图,请使用 CREATE VIEW command ,如本例所示
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
Benefits of using Views
正在使用的代码的通用性 . 由于视图基于一组常见的SQL,这意味着当它被调用时,它不太可能需要解析 .
安全 . 长期以来,视图一直用于隐藏实际包含您要查询的数据的表 . 此外,视图可用于限制给定用户有权访问的列 .
Predicate pushing
您可以在本文中找到有关“How to Create and Manage Views in Oracle”的高级主题 .
如果你喜欢Views的想法,但是担心性能,你可以让Oracle创建一个缓存表来表示oracle保持最新的视图 .见materialized views
常规视图----->查询的简称,此处不使用额外的空格
物化视图---->类似于创建表,其数据将根据用于创建视图的数据查询定期刷新
视图是一个虚拟表,它提供对一个或多个表的列子集的访问 . 视图可以从一个或多个表中获取其数据 . 查询的输出可以存储为视图 . 查看就像小 table 一样,但它不会占用任何空间 . View是直接访问表中特定用户的数据的好方法 . oracle中的视图只是存储的sql脚本 . 视图本身不包含任何数据 .
视图只是已赋予名称并保存在数据库中的任何 SELECT 查询 . 因此,视图有时称为命名查询或存储查询 . 要创建视图,请使用SQL语法:
SELECT
CREATE OR REPLACE VIEW <view_name> AS SELECT <any valid select query>;
5 回答
View in Oracle 和其他数据库系统只是表示存储在内存中的SQL语句,因此可以轻松地重复使用 . 例如,如果我们经常发出以下查询
要创建视图,请使用 CREATE VIEW command ,如本例所示
此命令创建一个名为view_uscustomers的新视图 . 请注意,除了定义此视图的数据字典条目外,此命令根本不会导致实际存储在数据库中的任何内容 . 这意味着每次查询此视图时,Oracle都必须执行视图并查询数据库数据 . 我们可以像这样查询视图:
Oracle会将查询转换为:
Benefits of using Views
正在使用的代码的通用性 . 由于视图基于一组常见的SQL,这意味着当它被调用时,它不太可能需要解析 .
安全 . 长期以来,视图一直用于隐藏实际包含您要查询的数据的表 . 此外,视图可用于限制给定用户有权访问的列 .
Predicate pushing
您可以在本文中找到有关“How to Create and Manage Views in Oracle”的高级主题 .
如果你喜欢Views的想法,但是担心性能,你可以让Oracle创建一个缓存表来表示oracle保持最新的视图 .
见materialized views
常规视图----->查询的简称,此处不使用额外的空格
物化视图---->类似于创建表,其数据将根据用于创建视图的数据查询定期刷新
视图是一个虚拟表,它提供对一个或多个表的列子集的访问 . 视图可以从一个或多个表中获取其数据 . 查询的输出可以存储为视图 . 查看就像小 table 一样,但它不会占用任何空间 . View是直接访问表中特定用户的数据的好方法 . oracle中的视图只是存储的sql脚本 . 视图本身不包含任何数据 .
视图只是已赋予名称并保存在数据库中的任何
SELECT
查询 . 因此,视图有时称为命名查询或存储查询 . 要创建视图,请使用SQL语法: