【Oracle】常用对象之序列

一、什么是序列?

序列(sequence):Oracle提供的用于产生一系列唯一数字的数据库对象。

二、为什么要序列?

Oracle数据库不支持主键自增,因此引入序列解决这个问题。另外,MySQL和Sql Server数据库中是支持主键自增的,它们不存在序列的概念。

三、Oracle中怎么使用序列?

第一步,创建序列,有以下两种方式可以创建序列:

  • 方式一:执行sql脚本设置序列
-- Create sequence 
create sequence sys_dict_id_seq  --sys_dict_id_seq是Sequence 名称
minvalue 1 -- 最小值
maxvalue 9999999999999999999999999999   --最大值
start with 1  --从1开始计数 
increment by 1  --每次加1个 
cache 20;  --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为:NOCACHE	
  • 方式二:在PL/SQL工具的序列界面设置(object -- sequence --右键new)

第二步,在插入的字段中,使用sys_dict_id_seq.nextval即可实现自增,如图所示:

如果想要删除序列,可以使用:

 Drop sequence xxx_seq;

最后,需要注意的是,序列在以下情况会出现裂缝:回滚、系统异常、多个表同时使用同一序列,因此平时使用时要注意到这一点!!

猜你喜欢

转载自blog.csdn.net/qq_29119581/article/details/114689187