oracle练习(mldn视频课程)四
来源:互联网 发布:道路 检测 大数据 编辑:程序博客网 时间:2024/05/21 10:36
视图
创建新表: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开始的,若想修改可以使用start with n,则可以设置为从n开始,
语法为:create sequence 序列名 start with n
固定取值
create sequence 序列名 maxvalue n increment by m start with l cache k cycle;
序列从l开始按照步长为m开始循环取值,最大值不超过n,缓存为k,k必须小于n,例如m=2,n=10,k=2,则循环取值为:1,3,5,7,9
同义词
同义词,可以让其他用户通过一个名称方便的访问“用户名.表名称”。
创建语法:create synonym 同义词名称 for 用户名.表名称,范例:create synonym emp for scott.emp
删除语法:drop synonym 同义词名称,范例:drop synonym emp
用户管理
创建用户:create user 用户名 identified by 密码
用户授权:grant 权限1,权限2.... to 用户名
如果想要把锁个权限一次性赋予一个用户,则可以将这些权限定义成一组角色,有两个角色:connect和resource。
用户登录之后再赋权限。
超级管理员修改普通用户密码:alter user 用户名 identified by 密码;
手工使密码失效:alter user 用户名 password expire;
锁住用户:alter user 用户名 account lock
解锁用户:alter user 用户名 account unlock
当前普通用户去访问其他用户的表,需要授予此张表的权限(超级管理员可以操作)
grant 权限1,权限2.... on 用户名A.表1 to 用户名B,将用户A的表1的权限1和权限2赋给用户B
回收权限:revoke 权限 on 用户A.表名称 from 用户B,将A用户的权限从B用户那里收回来
数据库备份与恢复
备份:exp
恢复:imp
范例:在d盘上建立一个data的文件夹,在此文件夹中保存所有的备份文件,如果要备份,则需要使用dos命令行方式
进入到d:/data文件夹中。
备份完成之后,为了检验备份的效果,将数据库中的全部表删除掉。
- oracle练习(mldn视频课程)四
- oracle练习(mldn视频课程)三
- oracle练习(mldn视频课程)五
- oracle练习(mldn视频)二
- oracle练习题(mldn视频)一
- Oracle----MLDN
- 课程练习四-ProblemB
- 课程练习四-problemF
- 课程练习四-ProblemH
- 课程练习四-ProblemJ
- 课程练习四-problemW
- 课程练习四-problemR
- 课程练习四-problemQ
- 课程练习四-problem V
- 机器学习课程练习(四)——softmax
- 课程练习四—problem A
- 2016sdau课程练习专题四 1003
- 2016sdau课程练习专题四 1001
- HTML颜色代码表
- 调用函数的ALV、面向对象的ALV设置带选择列
- Win7安vc2008编译报LINK : fatal error LNK1000: Internal error during IncrBuildImage
- 第一章数据结构答案(一)
- C#接触…… 入门2, 添加窗体支持
- oracle练习(mldn视频课程)四
- 第一章数据结构答案(二)
- Servlet 介绍 以及Servlet生命周期(详细)
- Tips for glReadPixels()
- Java多线程程序设计详细解析
- 流媒体术语汇总
- 用完成例程(Completion Routine)实现的重叠I/O模型
- 传智播客java培训ORACLE总结(3)
- ogre的Demo_CameraTrack例子程序的问题