热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle中常见的数据库对象--视图

数据库对象—视图:一、视图的定义:从表中抽出的逻辑上相关的数据集合a)视图是一种虚表b)视图建立在已有表

数据库对象—视图: 一、视图的定义:从表中抽出的逻辑上相关的数据集合 a) 视图是一种虚表 b) 视图建立在已有表

数据库对象—视图:

一、视图的定义:从表中抽出的逻辑上相关的数据集合

a) 视图是一种虚表

b) 视图建立在已有表基础上,视图依赖已建立的这些表称为基表

c) 向视图提供数据内容的语句为SELECT语句,,可以将视图理解为存储起来的SElECT语句

d) 视图向用户提供基表数据的另一种表示形式

二、为什么要使用视图

a) 控制数据访问:提供了一种安全机制,通过视图显示数据时,屏蔽用户不应该知道的数据.

b) 简化查询:select语句构造了一个复杂的查询语句,每次使用必须都得调用它

c) 避免重复访问相同的数据

三、创建视图:

a) 在CREATE VIEW语句中嵌入子查询

i. Create [OR REPLACE] [FORCE | NOFORCE] VIEW view [(alias [,alias]…)]

AS subquerytion

[with check option [CONSTRAINT constraint ]]

[with read only [CONSTRAINT constraint]]

b) 子查询可以是复杂的SELECT语句

i. CREATE VIEW empvu

AS select employee_id,last_name,salary

FROM employees

WHERE department_ed=80;

c) 描述视图结构:

i. Describe empvu;

d) 创建视图时在子查询中给列定义别名

i. SQL> create view usersview as select username name,password pass from users;

ii. //查询视图

SQL> select * from usersview;

e) 使用CREATE OR REPLACE VIEW 子句修改视图

i. SQL> create or replace view usersview as(select * from users);

f) 创建带有函数,groupby子句视图

i. SQL> create or replace view gde as ( select deptno,count(*) cou from emp group by deptno);

g) 创建连接视图 带有函数 group by子句 order by 子句

i. SQL> create view gdeo as select e.deptno,count(*) cou from emp e inner join dept d on e.deptno=d.deptno group by e.deptno order by e.deptno;

四、 视图中使用DML的规定

a) 可以在简单视图中执行DML操作

b) 当时图定义中包含以下元素之一是不能使用delete:

i. 组函数

ii. GROUP BY 子句

iii. DISTINCT 关键字

iv. ROWNUM 伪列

c) 当视图定义中包含以下元素之一时不能使用update :

i. 组函数

ii. GROUP BY子句

iii. DISTINCT 关键字

iv. ROWNUM 伪列

v. 列的定义为表达式

d) 可以使用 WITH READ ONLY 选项屏蔽对视图的DML 操作

d)任何 DML 操作都会返回一个Oracle server 错误

五、 删除视图

a) Drop view 视图名;


推荐阅读
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • 主机托管是指企业将服务器托管在专业数据中心,以替代自建数据中心的方式。这种方式不仅节省了成本,还提供了多种技术和管理上的优势。然而,主机托管也存在一些潜在的挑战,特别是在部署多个应用时。本文将详细探讨主机托管的主要利弊,帮助企业做出更明智的决策。 ... [详细]
  • MySQL 5.7 服务端在 Windows 上的安装与配置
    本文详细介绍了在 Windows 系统上安装和配置 MySQL 5.7 服务端的方法,包括 my.ini 配置文件的设置、初始化数据库、启动服务以及设置用户权限等步骤。 ... [详细]
  • 本文介绍了如何在 SQL Server (MSSQL) 数据库中更新 XML 列中的属性和节点内容。 ... [详细]
  • 图数据库与传统数仓实现联邦查询使用CYPHER实现从关系数据库过滤时间序列指标一、MySQL得到研报实体在Oracle中的唯一ID二、Oracle中过滤时间序列数据三、CYPHER ... [详细]
  • Java毕业设计项目:“传情旧物”网站(含源码与数据库)
    本项目介绍了如何配置和运行“传情旧物”网站,包括所需的技术栈、环境配置以及具体的操作步骤。 ... [详细]
  • 本文为初学者提供了一条清晰的学习路线,帮助他们逐步成长为优秀的Web开发人员。通过十个关键步骤,涵盖从基础到高级的各个方面,确保每位学习者都能找到适合自己的学习方向。 ... [详细]
  • 在尝试将 mysqldump 文件加载到新的 MySQL 服务器时,遇到因使用保留关键字 'table' 导致的语法错误。 ... [详细]
  • 阿里面试题解析:分库分表后的无限扩容瓶颈与解决方案
    本文探讨了在分布式系统中,分库分表后的无限扩容问题及其解决方案。通过分析不同阶段的服务架构演变,提出了单元化作为解决数据库连接数过多的有效方法。 ... [详细]
  • 本文详细介绍了如何将Spring框架与Hibernate ORM框架进行集成,包括配置文件的设置和数据持久化操作的实现。 ... [详细]
  • 如何将两个具有相同主键的Excel表格合并
    本文介绍如何将两个具有相同主键的Excel表格进行合并,通过左连接的方式将表2的数据插入到表1中。具体步骤包括在表1中添加新的列、使用VLOOKUP函数进行数据匹配,以及通过SQL语句实现数据库中的表连接。 ... [详细]
  • 解决Win7安装SQL Server时NetFx3启动失败的问题
    在使用Win7系统安装SQL Server时,部分用户可能会遇到“启动Windows功能NetFx3时出错”的提示。本文将详细介绍这一问题的原因及解决方法。 ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
  • 本文讨论了在 Oracle 10gR2 和 Solaris 10 64-bit 环境下,从 XMLType 列中提取数据并插入到 VARCHAR2 列时遇到的性能问题,并提供了优化建议。 ... [详细]
  • 本文探讨了在 SQL Server 2012 的 Integration Services 项目中配置 ADO.NET 源时遇到的错误及其解决方案。 ... [详细]
author-avatar
手机用户2602921303_852
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有