您的位置:首页 > 数据库 > Oracle

oracle中序列 视图 索引 的 使用

2015-04-06 16:29 603 查看
oracle中序列 视图 索引 的 使用

1、使用序列

是用于生成唯一、连续序号的对象

序列可以是升序的,也可以是降序的

使用create sequence语句创建序列

a、创建的语法

create sequence 序列名

[start with n] --初始值,默认为 1

[increment by n] --步长,默认为 1

[maxvalue n|nomaxvalue] --序列最大值,默认情况下最大值为10的27次方,递减序列最大值为-1

[minvalue n|nominvalue] --序列最小值,递增序列最小值为1,递减序列最小值为-10的26次方

[cycle|nocycle] --指定当前序列达到最大值或最小值后,是否循环生成值,默认为nocycle

[cache n|nocache] --设置Oracle服务器预先分配并保留在内存中的值的个数(默认为20个)

b、序列的属性值

currval:返回当前序列的值

nextval:返回序列的下一个值

c、修改序列

alter sequence seq_name increment by 10 maxvalue 100000 cycle cache 10;

注意:不能修改序列的起始值,即start with

d、删除序列

drop sequence seq_name;





2、创建视图(view)


以经过定制的方式显示来自一个或多个表的数据

视图可以视为"虚拟表"或"存储的查询"

创建视图所依据的表称为——基表

a、视图的优点有:

1、提供了另外一种级别的表级安全

2、隐藏了数据的复杂性,简化了查询语句

3、分离了应用查询与基础表

4、通过重命名列,从另一个角度提供数据

b、视图创建的语法

create [or replace][ force(力量,强迫)|noforce ] view [schema.]视图名

[(column1,column2,...)] as 查询语句

[with check option[constraint 约束名]] --指明在使用试图时,检查数据是否符合子查询中的约束条件

[with read only]; --指明该视图只能读,不能修改

案例:

create view v_info as

select empno,ename,job,sal,emp.deptno,dname,loc from emp,dept where emp.deptno=dept.deptno with read only;

1、使用 WITH CHECK OPTION 选项创建视图

create or replace view v1 as select * from emp where empno>7000 with check option;

2、创建带有错误的视图

create or replace force view v3 as select * from abc;

3、外连接视图:

create or replace view v2 as

select emp.ename,dept.dname from dept left join emp on emp.deptno=dept.deptno;

4、删除视图

drop view 视图名

注意:在视图上也可以使用修改数据的DML语句,

如insert、update和delete。但如果视图定义包含一下如何一项,则不可直接对视图进行增、删、改操作:

a.集合操作符(union、union all、minus、intersect)

b.聚合函数(sum、avg、max、min等)

c.group by,connect by或start with字句

d.distinct操作符

e.伪列rownum或表达式

f.连接操作(多表)


3、创建索引

a、创建索引

1、B-tree索引(oracle默认索引)

1、创建普通索引

2、创建唯一索引

3、创建复合索引

2、位图索引

3、反向键索引(特殊的b-tree索引):

一般在含有序列数的列上创建索引

4、基于函数的索引

b、整理索引

1、合并

alter index 索引名 coalesce deallocate unused

2、重建

alter index 索引名 rebuild;

c、监视索引

1、开启

alter index 索引名 monitoring usage;

2、关闭

alter index 索引名 nomonitoring usage;

d、删除索引

drop index 索引名;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐