oracle 试图加索引,Oracle基础(六)之序列,视图,索引

一、序列sequence

sequence是Oracle数据库中一种特殊的对象,能够产生连续的整数值,可以为数据库中多个对象共同使用,主要用于作为主键值。

1.创建序列

起始值 start with:1

步长:increment by:1

最大值:maxvalue:100

最小值:minvalue:1

循环:cycle|nocycle

缓冲区:cache 20|nocache(默认20)

create sequence s1;

注: a) 各可选项位置不先后次序

b) 当increment by n为正数时,

默认maxvalue为: 1E+27 , 默认minvalue为: 1

当increment by n为负数时,

默认maxvalue为: -1 , 默认minvalue为: -1E+26

increment by必须为非零整数,

加不加NOMAXVALUE效果一样,这本身是默认值

c) CACHE n可以每次预产生十五个,二十个,放到内存里,提高性能。

不写默认CACHE 20个

d) cycle用于循环,到了最大数后循环(不建议使用)

2.使用序列

nextval:取序列下一个值

currval:去序列当前值

select s1.nextval from dual;

select s1.currval from dual;

create sequence s2

start with 100

increment by 2;

select s2.nextval from dual;

select s2.currval from dual;

注:先执行nextval才会启用,启用后才能查询到当前值

//序列和表的关系

insert into s_stu(id,name)

values(s2.nextval,'rui');

3.修改序列

ALTER SEQUENCE sequence

[INCREMENT BY n]

[{MAXVALUE n | NOMAXVALUE}]

[{MINVALUE n | NOMINVALUE}]

[{CYCLE | NOCYCLE}]

[{CACHE n | NOCACHE}]

注: sequence不能修改起始值

alter sequence s_stu_id

increment by -2;

4.删除序列

drop sequence sequenceName

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值