视图这个名词太抽象了,乍一看完全不明白是什么意思,更不知道有何用处,其实了解清楚它的含义后你就会恍然大悟。表和视图的区别

视图这个名词太抽象了,乍一看完全不明白是什么意思,更不知道有何用处,其实了解清楚它的含义后你就会恍然大悟。表和视图的区别,表是占用硬盘空间物理表,而视图可以理解为一个虚表,并不存储在硬盘上,不占用硬盘空间,实际上就是一个查询语句,方便查询。对视图里面的数据操作(增、删、改) 其实就是对真实的表增、删、改,它们始终保持一致性。

为什么还需要视图 ?

视图可以理解成一个封装过的表,,例如不让用户清楚知道表的某些字段信息,比较安全。

延续之前的表tableA,创建一个select * from tableA的视图a_view:

SQL>CREATE VIEW a_view AS SELECT * FROM tableA;

SQL>SELECT * FROM a_view;

视图创建成功,查询a_view的结果,和select * from tableA结果一样。

如果创建视图时提示以下错误,说明该用户没有创建视图的权限,需要用后面的方法进行授权。

ERROR at line 1:

ORA-01031: insufficient privileges

----------------------------------

SQL> conn /as sysdba

Connected.

SQL> grant connect,dba to user;

Grant succeeded.

SQL> conn user/password

Connected.

往视图插入一条记录

SQL> INSERT INTO a_view(id,name,age) VALUES(106,'susan',23);

记录被成功添加进视图中,同时也加进了表里。

修改视图:与创建视图不同,创建视图使用create创建,而修改视图是用create or replace。如果要设置视图只读权限,可以在SQL语句末尾添加with read only。设为只读之后如果再往视图里添加记录的话,Oracle即会报错,如下图所示。

SQL> CREATE OR REPLACE VIEW a_view AS SELECT * FROM tableA WITH READ ONLY;

如果要添加有额外条件的查询视图,可以在末尾加上条件。例如查询年龄大于等于24岁的人,可用下图所示的方式:

SQL> CREATE OR REPLACE VIEW a_view AS SELECT * FROM tableA where age>=24;

多表查询视图,如果表tableA和tableB的字段ID有相同记录的话,把相应的tableA的name字段记录和tableB的class、grade字段记录罗列出来,创建到视图b_view里,如下图所示:

SQL> CREATE VIEW b_view as select a.name,b.class,b.grade from tableA a,tableB b where a.id=b.id;

最后有关查看视图中所包含的字段,方法和查看表的一样

SQL>DESC b_view;

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

oracle的创建视图,Oracle笔记:创建视图相关推荐

  1. mysql创建三张表的视图_mysql三张表连接建立视图

    三张表连接·· A表的a字段 对应 B表的b字段 ,B表的b1字段对应C 表的c字段 现在 建立 一个视图,可以同时 看到三张表的 所有信息·~ create or replace view v_na ...

  2. oracle视图总结(创建、查询、改动、删除等)

    视图定义: - -视图是一种虚表. - -视图建立在已有表的基础上, 视图赖以建立的这些表称为基表. - -向视图提供数据内容的语句为 SELECT 语句, 能够将视图理解为存储起来的 SELECT ...

  3. Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询

    Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开 ...

  4. mysql oracle创建视图索引吗_Oracle视图,索引,序列

    什么是视图[View] (1)视图是一种虚表 (2)视图建立在已有表的基础上, 视图赖以建立的这些表称为基表 (3)向视图提供数据内容的语句为 SELECT 语句,可以将视图理解为存储起来的 SELE ...

  5. oracle物化视图可以创建索引,oracle 物化视图及创建索引

    物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语 ...

  6. oracle视图如何创建索引,ORACLE 创建视图索引序列

    /* 视图View 视图是从若干基本表和(或)其他视图构造出来的表 视图存放的都是查询语句,并没有真实的数据 虚表 作用 限制对数据的操作 复杂查询变简单 提供相同数据的不同显示 UNION ALL ...

  7. Oracle 学习笔记 11 -- 视图 (VIEW)

    本次必须学习一个全新的概念-- 视图 (VIEW).在前面的笔记中曾提到过,数据对象包含:表.视图.序列.索引和同义词.前面的笔记都是对表的想剖析,那么本次笔记就对视图的世界进行深入的剖析. 视图是通 ...

  8. MySQL 学习笔记(5)— 视图优缺点、创建视图、修改视图、删除视图

    1. 视图概念 简单来说,视图就是一个预定义的查询语句.视图在许多情况下可以当作表来使用,因此也被称为虚拟表(Virtual Table). 视图与表最大的区别在于它不包含数据,数据库中只存储视图的定 ...

  9. php oracle创建临时表,Oracle常用命令笔记

    Oracle常用命令笔记 客户端用的pl/sql工具 ORACLE的重启命令 (1) 以系统管理员登录,命令:connect / as sysdba (2) 启动数据库,命令:startup (3) ...

最新文章

  1. 解决sybase数据库的死锁问题
  2. 线程安全的单例模式的几种实现方法分享
  3. 使用python进行面部合成,比PS好用多了
  4. const常量与define宏定义的区别
  5. P2571 [SCOI2010]传送带
  6. C++ 类访问控制(public/protected/private)
  7. 阿里云开源EasyTransfer:业界首个面向NLP场景深度迁移学习框架
  8. Win11笔记本电源计划怎么设置 Win11设置电源计划为高性能的方法
  9. 如何在VB中实现ActiveX控件的IobjectSafety接口
  10. 为什么这几年餐饮创业突然火起来了?
  11. Weka算法Classifier-tree-J48源代码分析(一个)基本数据结构和算法
  12. 移动应用框架 Ionic 4 Ionic for Everyone
  13. 牛逼!在IDEA里搞Spring Boot Mybatis反向工程,太爽咯~
  14. python linux 打印机,Python抓取打印机硒鼓和组件剩余量的爬虫
  15. 短信后台功能与通道路由模块客户通道选择短信平台开发|国际短信通道短信后台源码
  16. 美国佐治亚理工学院计算机博士,大神offer | 恭喜G同学全奖录取佐治亚理工学院-数学博士!...
  17. 微商最低成本引流,学会这招日引精准粉1000+
  18. 熊孩子太调皮,送他Airblock无人机变身小神童
  19. HTML5期末大作业:动物网站设计——宠物狗(10页) HTML+CSS+JavaScript 大学生静态网页设计 dw宠物网页设计 狗狗网页设计html web课程设计网页规划与设计...
  20. c语言程序判断一个字符串是否是回文数,详解判断回文字符串和回文数算法的C语言代码!...

热门文章

  1. 实习日记07/08 day1
  2. zzulioj1818: squee_spoon and his Cube VI
  3. 荣耀路由器 4 Pro 评测怎么样
  4. 如何选择适合你的兴趣爱好(二十九),少林
  5. python撤销键_python撤回键
  6. @Deprecated注解的作用
  7. 电脑文件如何实时备份?
  8. 耆耄经济会是荣耀、小米们的新战场吗?
  9. 解决中文乱码通用工具
  10. Base64 Encode/Decode Class C++ SourceCode - Base64编码/解码 类 C++ 源码