易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

使用oracle的一些技巧方法

将查询的结果生成到文件中:
set echo on --是否显示执行的命令内容
set feedback off --是否显示 * rows selected
set heading off --是否显示字段的名称
set verify off --是否显示替代变量被替代前后的语句。fil
set trimspool off --去字段空格
set pagesize 1000 ......

Oracle内置角色connect与resource的权限

首先用一个命令赋予user用户connect角色和resource角色:
grant connect,resource to user;
运行成功后用户包括的权限:
CONNECT角色: --是授予最终用户的典型权利,最基本的
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREAT ......

Oracle中start with…connect by prior子句用法

Oracle中start with…connect by prior子句用法
connect by 是结构化查询中用到的,其基本语法是:
select … from tablename
start with 条件1
connect by 条件2
where 条件3;
例:
select * from table
start with org_id = ‘HBHqfWGWPy’
connect by prior org_id = parent_id;
  ......

关于Oracle的session

关于Oracle的session
      1.如何查看session级的等待事件?
当我们对数据库的性能进行调整时,一个最重要的参考指标就是系统等待事件。$system_event,v$session_event,v$session_wait这三个视图里记录的就是系统级和session级的等待事件,通过查询这些视图你可以发现数据库的一些操作到底在等 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号