首页 文章

什么是Oracle中的视图?

提问于
浏览
55

Oracle中的视图是什么?

5 回答

  • 3

    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”的高级主题 .

  • 1

    如果你喜欢Views的想法,但是担心性能,你可以让Oracle创建一个缓存表来表示oracle保持最新的视图 .
    materialized views

  • 1

    常规视图----->查询的简称,此处不使用额外的空格

    物化视图---->类似于创建表,其数据将根据用于创建视图的数据查询定期刷新

  • 11

    视图是一个虚拟表,它提供对一个或多个表的列子集的访问 . 视图可以从一个或多个表中获取其数据 . 查询的输出可以存储为视图 . 查看就像小 table 一样,但它不会占用任何空间 . View是直接访问表中特定用户的数据的好方法 . oracle中的视图只是存储的sql脚本 . 视图本身不包含任何数据 .

  • 124

    视图只是已赋予名称并保存在数据库中的任何 SELECT 查询 . 因此,视图有时称为命名查询或存储查询 . 要创建视图,请使用SQL语法:

    CREATE OR REPLACE VIEW <view_name> AS
         SELECT <any valid select query>;
    

相关问题