SQL基础语句(笔记)

一、序列

序列是一种数据库对象,用来自动产生一组唯一的序号;序列是一种共享式的对象,多个用户可以共同使用序列中的序号。
1、创建序列

CREATE SEQUENCE sequencename
       [INCREMENT BY n]             定义序列增长步长,省略为1
       [START WITH m]               序列起始值,省略为1
       [{MAXVALUE n | NOMAXVALUE}] 序列最大值,
       [{MINVALUE n | NOMINVALUE}] 序列最小值
       [{CYCLE | NOCYCLE}]         到达最大值或最小值后,继续产生序列(默认NOCYCLE)
       [{CACHE n | NOCACHE}];      CACHE默认是20

例子:

CREATE SEQUENCE seq_test
START WITH 1
INCREMENT BY 1

2、使用序列
NEXTVAL 和CURRVAL 伪列
NEXTVAL:
获取序列下一个值。若是新创建的序列,那么第一次调用返回的是START WITH 指定的值,以后每次调用都会得到当前序列值加上步长后的数字。
NEXTVAL会导致序列发生不仅,且序列不能回退。

SELECT seq_test.NEXTVAL FROM dual

CURRVAL :
获取序列当前值,即:最后一次调用NEXTVAL后得到的值,CURRVAL不会导致步进。但是新创的序列至少调用一次NEXTVAL后才可以使用CURRVAL。

SELECT seq_test.CURRVAL FROM dual

3、查询和删除序列
查询序列:

select * from user_sequences

删除序列:

drop sequence seq_test

4、修改序列
修改序列的注意事项:
必须是序列的拥有者或对序列有ALTER 权限
只有将来的序列值会被改变
改变序列的初始值只能通过删除序列之后重建序列的方法实现
例子:

ALTER SEQUENCE seq_test INCREMENT BY 1

未完待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值