oracle练习(mldn视频课程)四
视图
创建新表:create table emp2 as select * from emp;
create view empv20 as select empno,ename,job,hiredate,deptno from emp where deptno=20 with check option;
语法:create or replace view 视图名称 as 子查询(修改之后的子查询)
替换视图(修改)
create or replace view empv20 as select empno,ename,job,hiredate,deptno,sal from emp
where deptno=20 with check option;
语法:update 视图名 set 更新内容 条件
更新视图
有两个参数:with check option和with read only
将视图中的7369职员的部门号修改为30
update empv20 set deptno=30 where empno=7369;
创建视图时添加上with check option则不会对创建条件更新,但是可以对其他字段更新。
若修改视图中7369的职员姓名为“史密斯”,可否修改?
update empv20 set ename='史密斯' where empno=7369;
创建视图时添加上with read only则不会对创建条件更新,
create view empv20 as select empno,ename,job,hiredate,deptno from emp where deptno=20 with read only;
以下操作时提示不允许虚拟列,是只读操作
update empv20 set deptno=30 where empno=7369;
update empv20 set ename='史密斯' where empno=7369;
序列
语法:create sequence 序列名
范例:create sequence myseq
使用序列
两种操作:nextval—取得序列的下一个内容
currval—取得序列的当前内容
insert into 表名(列一,列二) values(表名.nextval,表名.currval);
删除序列:drop sequence 序列名
增长幅度:increment by 长度(放在创建序列的后边)
范例:1,创建序列create sequence myseq
2,创建表create table testseq(next number,curr number);
3,重复插入数据insert into testseq(next,curr) values(myseq.nextval,myseq.currval);
4,查询数据select * from testseq;
查询出来的数据以步长为一的速度增加,若想要步长不为一,则需要在创建序列时加上increment by n,n为步长,
语法为:create sequence 序列名 increment by n
不能修改已创建序列的步长,只能删除序列重新创建时修改步长。
默认情况下序列是从1
相关文档:
查看所有表空间使用情况
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE ......
1,列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数。
select job,count(empno) from emp
where job in(select job from emp group by job having min(sal)>1500)
group by job;
2,列出薪金高于公司平均薪金的所有员工所在部门,上级领导,公司的工资等级。
select e.ename,d.dname,m.ename,e.sal,sa. ......
修改Oracle的进程数[processes]及会话数[sessions]
1.通过SQLPlus修改
Oracle的sessions和processes的关系是
sessions=1.1*processes + 5
使用sys,以sysdba权限登录:
SQL> show parameter processes;
NAME &n ......
ORACLE常用命令
一、ORACLE的启动和关闭
1、在单机环境下
要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下
su - oracle
a、启动ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>startup
SVRMGR>quit
b、关闭ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR& ......