11、SQL--其他数据对象(含习题)

 

一、序列:

序列:Sequence

 

 

1、创建序列:

 

(1)、语句:

create sequence empseq

increment by 10 --每次增长10

start with 10 --从10开始增长

maxvalue 100 --提供的最大值

cycle --需要循环

nocache --不需要缓存登录

 

(2)、查询:

select empseq.nextval from dual

或

select empseq.currtval from dual

 

 

2、添加时用到序列:

(1)、创建序列:

create sequence empseq

increment by 10 --每次增长10

start with 10 --从10开始增长

maxvalue 100 --提供的最大值

cycle --需要循环

nocache --不需要缓存登录

 

(2)、添加数据:

insert into emp01

values(empseq.nextval,'DD',2500)

 

3、序列的修改:

alter sequence empseq –修改序列

increment by 1 --(每次增加1)

nocycle --(不循环)

 

 

 

 

4、序列的裂缝问题:

(1)、描述:创建两个表emp01和emp02,emp01使用empseq序列进行插入数据,1-2-3-4-60;此时emp02又开始用empseq序列插入数据,只能从61开始,62-63-64,如果在这个时候又是emp01使用empseq序列它插入的数据就只能从65开始………

(2)、解决方法:一个表一个序列。

 

5使用时,一定一个表对应一个序列;不要多表共用一个。

 

6如果不将序列的值装入内存(NOCACHE), 可使用表USER_SEQUENCES 查看序列当前的有效值

 

7、删除序列:drop sequence empseq

 

二、索引(index):

相当于字典前边的索引,它的存在只是加快查询的速度。

 

1、创建索引:

 

(1)、自己创建一个表,加上主键,加上唯一性约束,也会自动创建一个索引。

 

(2)、手动创建索引:

 

索引作用在emp01中的employee_id上。

create index emp01_id_index -- emp01_id_index为索引的别名。

on emp01(employee_id)

 

2、删除索引:drop emp01_id_index

 

3

 

 

三、同义词:

 

 

1

create synonym e for employees

ORA-01031: 权限不足

需要在Oracle 11g的企业管理器”中的系统权限增加CREATE ANY SYNONYM

 

 

 

总结:  what -- why -- how

表table

视图view

序列sequence

索引index

同义词synonym

 

 

四、测验题一:

 

65. 创建序列:

1).

create sequence hs

    increment by 10

start with 10

 

2). NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效

 

 

66. 序列通常用来生成主键:

INSERT INTO emp2 VALUES (emp2_seq.nextval, 'xx', ...)

 

五、测验题二:

 

1、创建序列dept_id_seq,开始值为200,每次增长10,最大值为10000

create sequence dept_id_seq

start with 200

increment by 10

maxvalue 10000

 

2、使用序列向表dept中插入数据

insert into dept01

values(dept_id_seq.nextval,'Account')

附:

create table dept as

select department_id id,department_name name

from departments

where 1=2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值