ORACLE基础(五)------ 视图
来源:互联网 发布:vue.js生命周期面试题 编辑:程序博客网 时间:2024/05/01 08:31
--SQL视图示例(以scott用户下的四张表为例):--EMP(雇员表):-- EMPNO:雇员编号,由四位数字组成-- ENAME:雇员姓名,由十位字符组成-- JOB:雇员的职位-- MGR:雇员对应的领导编号,领导也是雇员-- HIREDATE:雇员的雇佣日期-- SAL:基本工资,其中有两位小数,五位整数-- COMM:奖金,佣金-- DEPTNO:雇员所在的部门编号--DEPT(部门表):-- DEPTNO:表示部门编号,由两位数字组成-- DNAME:部门名称,最多由14位字符组成-- LOC:部门所在的位置--SALGRADE(工资等级表):-- GRADE:工资的等级-- LOSAL:此等级的最低工资-- HISAL:此等级的最高工资--BONUS(工资表):-- ENAME:雇员姓名-- JOB:雇员职位-- SAL:雇员薪酬-- COMM:雇员的奖金--基本语法: --CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW NAME_VIEW [(ALIAS,......)] --AS SUBQUERY --[WITH CHECK OPTION [CONSTRAINT]] --[WITH READ ONLY] --OR REPLACE:若所建的视图存在,则自动重建该视图 --FORCE:不管基表是否存在,Oracle都会自动重建该视图 --NOGORCE:只有基表都存在,Oracle才会创建该视图 --ALIAS:为视图产生的列定义别名 --SUBQUERY:一条完整的select语句 --WITH CHECK OPTION:插入或修改的数据必须满足视图定义的约束 --WITH READ ONLY:该视图上不能进行任何DML操作 ----示例1: --创建视图(单表) create or replace view emp_view as select empno,ename,deptno from emp --查询视图 select * from emp_view; --插入 insert into emp_view(empno,ename,deptno)values (15,'Liam',30); --修改视图 update emp_view set ename='YAN' where empno=15; --删除视图中的数据 delete emp_view where empno=15; --删除视图 drop view emp_view;--示例2: --创建视图(多表) create or replace view empdept_view as select empno,ename,job,sal,emp.deptno,dname from emp join dept on emp.deptno = dept.deptno --查询视图 select * from empdept_view; --插入数据,向emp表中插入数据, insert into empdept_view(empno,ename,sal)values(7777,'liamyan',1000); --插入数据,向dept表中插入数据.失败,错误报告:无法通过连接视图修改多个基表 insert into empdept_view(deptno,dname)values(50,'baidu'); --插入数据,同时向两个表中插入数据.失败,错误报告:无法通过连接视图修改多个基表 insert into empdept_view(empno,ename,deptno,dname,sal)values(7777,'LiamYan',30,'SALES',1000); --修改视图,修改emp表中的数据 update empdept_view set ename='Yan' where empno=7839; --修改视图,修改dept表中的数据.失败,错误报告:无法修改与非键值保存表对应的列 update empdept_view set dname='baidu' where ename='Yan'; --删除视图中的数据 delete empdept_view where ename='Yan'; --删除视图 drop view empdept_view;--示例3 --创建视图 create or replace view dept_sum_view (name,minsal,maxsql,avgsal) as select d.dname,min(e.sal),max(e.sal),avg(e.sal) from dept d,emp e where d.deptno= e.deptno group by d.dname; --查询视图 select * from dept_sum_view; --删除视图 drop view dept_sum_view; --查询视图定义select view_name,text from user_views;
0 0
- ORACLE基础(五)------ 视图
- MySQL基础笔记(五) 视图
- MySQL基础笔记(五) 视图
- oracle视图的基础
- Oracle数据库学习(五)--视图,序列,索引,约束
- Oracle基础(五):多表查询
- (五)数据库视图
- mysql(五)视图
- IOS5基础之五-----多视图应用程序
- oracle基础详解(五)oracle数据库体系架构详解
- Oracle PL/SQL开发基础(第五弹:视图)
- java程序员菜鸟进阶(五)oracle基础详解(五)oracle数据库体系架构详解
- java程序员菜鸟进阶(五)oracle基础详解(五)oracle数据库体系架构详解
- yii-besic (五)视图
- Oracle基础(五)pl/sql进阶(分页过程)
- IOS基础学习日志(五)简单的表格及表视图
- ORACLE物化视图-循序渐进MView(五) 利用刷新组控制MView刷新
- oracle视图基础详解与实例
- Nginx高性能http服务器的安装
- Swift3.0中 图片高斯模糊处理
- 关于shell的一些命令
- Java Reflection(九):泛型
- ThinkPHP里的命名空间解析
- ORACLE基础(五)------ 视图
- Codeforces 149C Division Into Teams 构造
- 接口传入为不同数据的不同处理
- web测试方法总结
- UITextField的创建与方法的重写
- 输出形如aabb的4位完全平方数(7744问题)
- spring session无法实现共享(多web应用)
- tensorboard
- Java Reflection(十):数组