oracle创建SEQUENCE序列

1.在sql窗口如下写

create sequence SEQ_USER_INFO_ID//你创建的序列的名称
increment by 1 //每次自增长1
start with 1 //默认id从1开始
maxvalue 99999999 //设置序列最大值为8位9 , NOMAXvalue代表不设置最大值
minvalue 1 //设置最小值
cache 20; //设置缓存的个数,因为是缓存在内存中,当系统死机后,将会跳过20个序列导致序列不连续 ; 这里可以写nocache不缓存序列

2.其实应该再创建表的。其实应该先创建表的。

create table USER_INFO(
    ID number(10) primary key not null ,
    NAME varchar2(50)
)

3.表和序列都创建好后,需要在表中用一下序列

简单的做法就是往表里面插入一条数据,其中SEQ_USER_INFO_ID.nextval表示了序列的下一个数值

insert into user_info(id , name ) values(SEQ_USER_INFO_ID.nextval , 'vergil' )

当然这样插入后id其实是2,因为设置的序列是从1开始,而序列的自增长又是1,所以下一个序列就是2,这样序列就和表联系了,至于能不能一个序列被多个表使用,还是不要这样,一个表对应一个序列。
可以使用SEQ_USER_INFO_ID.currVal得到序列当前值,或者你从0开始自增长。

4.直接查询序列

select SEQ_USER_ID.currVal from dual //操作不影响序列值
select SEQ_USER_ID.nextval from dual //每操作一次序列增长1

https://www.cnblogs.com/ZiyuanZhu/p/5976580.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值