首页 / ORACLE / Oracle创建视图
Oracle创建视图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle创建视图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2327字,纯文字阅读大概需要4分钟。
内容图文
![Oracle创建视图](/upload/InfoBanner/zyjiaocheng/886/f94aaccfc07b4cd081ecb7d7fc54c675.jpg)
Oracle CREATE VIEW语法
要在数据库中创建新视图,请使用以下Oracle CREATE VIEW语句:
CREATE [OR REPLACE] VIEW view_name [(column_aliases)] AS
defining-query
[WITH READ ONLY]
[WITH CHECK OPTION]
OR REPLACE
选项取代了现有视图的定义。如果已授予该视图的各种权限,则非常方便。因为当使用DROP VIEW和CREATE VIEW来更改视图的定义时,Oracle会删除视图特权,这可能不是您想要的。 为了避免这种情况,可以使用保留视图特权的CREATE OR REPLACE子句。
FORCE
通常,基于现有的表创建一个新的视图。 但是,有时可能希望根据稍后创建的表创建视图,或者在创建视图时没有足够的权限访问表。在这些情况下,可以使用FORCE选项。
column_aliases
从定义查询的选择列表派生的视图的列名称。 但是,定义查询的列名可能包含不能用于视图定义的函数或表达式。
要解决这个问题,有两个选择:
- 使用符合定义查询的SELECT子句中的命名规则的列别名。
- 为CREATE VIEW和AS子句之间的视图列显式指定列别名。
WITH READ ONLY
子句防止底层表通过视图进行更改。
WITH CHECK OPTION
句保护视图免受对基础表的任何更改,这些更改将生成未包含在定义查询中的行。
- 创建一个视图的例子
Create or REPLACE view detectingView
(name_vehicle,minsal,maxsal,avgsal)
as
select a.VEHICLE_NO,a.ATMO_HUMIDITY,a.AXLE_AMOUNT,a.ATMO_PRESSURE from info_detect_base a;
创建了一个简单的试图,只查询一个表
CREATE OR REPLACE VIEW DETETCT_POWER_info_vehicle
AS
select * from info_detect_base a where a.DETECT_SN in
(
select DETECT_SN from info_detect_record
);
创建一个 复杂试图,查询两张表
CREATE OR REPLACE VIEW customer_credits(
customer_id,
name,
credit
) AS
SELECT
customer_id,
name,
credit_limit
FROM
customers WITH READ ONLY;
创建一个只读视图
CREATE OR REPLACE VIEW backlogs AS
SELECT
product_name,
EXTRACT(
YEAR
FROM
order_date
) YEAR,
SUM( quantity * unit_price ) amount
FROM
orders
INNER JOIN order_items
USING(order_id)
INNER JOIN products
USING(product_id)
WHERE
status = 'Pending'
GROUP BY
EXTRACT(
YEAR
FROM
order_date
),
product_name;
连接视图是其定义查询包含连接(例如,内连接或左连接)的视图。 以下语句创建一个名为backlog的视图,其定义查询包含连接三个表的联接子句:orders,order_items和products。三个表之间的关系如下所示 -
视图的优点:
1.安全:根据个人的权限只允许看到某几个字段
2.隐藏数据的复杂性
3.简化用户的SQL命令
4.将引用程序与基表的修改隔离
注意:
1.视图不能包含伪列(currval,nextval,rownum)
2.视图中如果包含连接,集合分组等函数不能删除更新插入只能查询(常见视图都是用于查询了,基本上不会出现更改)
3.基表和视图的数据是绑定的
4.视图中可以使用分组函数
内容总结
以上是互联网集市为您收集整理的Oracle创建视图全部内容,希望文章能够帮你解决Oracle创建视图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。