oracle序列的增、删、改、查及使用


----------------------------------------------------------------------创建序列:
示例:
CREATE SEQUENCE SEQ_SSSS #创建序列名为SEQ_SSSS的序列
INCREMENT BY 1 #增值值为1(负数表示递减,如-1)
START WITH 1 #初始值为1
NOMAXvalue #不限制最大值
NOCYCLE #不循环
NOCACHE;


语法 CREATE SEQUENCE 序列名 [相关参数]
参数说明
INCREMENT BY :序列变化的步进,负值表示递减。(默认1)
START WITH:序列的初始值 。(默认1)
MAXvalue:序列可生成的最大值。(默认不限制最大值,NOMAXVALUE)
MINVALUE:序列可生成的最小值。(默认不限制最小值,NOMINVALUE)
CYCLE:用于定义当序列产生的值达到限制值后是否循环(NOCYCLE:不循环,CYCLE:循环)。
CACHE:表示缓存序列的个数,数据库异常终止可能会导致序列中断不连续的情况,默认值为20,如果不使用缓存可设置NOCACHE

-------------------------------------------------------------------------------------将序列插入表中:
语法:
insert into tb_name(id) values (seq_name.nextval) #seq_name为已创建的序列名称

示例:
insert into tb_order_info(id) values (SEQ_SSSS.nextval) #seq_name为已创建的序列名称


-------------------------------------------------------------------------------------------查看当前序列:
语法:
select seq_name.nextval from dual;

示例:
select SEQ_SSSS.nextval from dual; #SEQ_SSSS为已创建的序列名称

----------------------------------------------------------------------------------------------修改序列:
语法:
alter sequence 序列名称 increment by 2; #正数表示在当前的序列数上加,和为新的序列数;负数表示在当前的序列数上减,差为新的序列数;

示例:
alter sequence SEQ_SSSS increment by 15; #SEQ_SSSS为已创建的序列名称,当前序列加15为新的序列数

alter sequence SEQ_SSSS increment by -3; #SEQ_SSSS为已创建的序列名称,当前序列减3为新的序列数

---------------------------------------------------------------------------------------------------删除序列:

语法:
drop sequence seq_name

示例:
drop sequence SEQ_SSSS #删除序列 SEQ_SSSS

参考原文:
https://blog.csdn.net/hu_dongyang/article/details/79039737 

猜你喜欢

转载自www.cnblogs.com/whitemouseV2-0/p/10003610.html