Oracle数据库的序列:Sequence

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

Oracle数据库的序列:Sequence

  • 前言
  • 一、简单序列
    • 1. 创建与删除序列
    • 2.序列的两个属性
    • 3. 查看序列信息
  • 二、复杂序列
    • 1.语法
    • 2.创建复杂自增序列
  • 三、序列在表格中的使用
    • 步骤1:创建一个需要添加序列的表格
    • 步骤2:创建序列,并使用序列插入新数据
    • 步骤3:看表格的序列内容


前言

序列是一组有序的从小到大或者从大到小的数字。一般在表格里面,都是充当表格自增主键存在的信息。


提示:以下是本篇文章正文内容,下面案例可供参考

一、简单序列

1. 创建与删除序列

create sequence seq001;  --创建
drop sequence seq001;  -- 删除

2.序列的两个属性

1.  seq.nextval ---进入到下一个数字(或者查看序列第一个数字)
2.  seq.currval --查看当前数字

例子:
select seq001.nextval from dual;  --查看当前数字,再次执行查看下一个数字
select seq001.currval from dual;  --查看当前数字 

3. 查看序列信息

select * from user_sequences;  --查看序列信息

Oracle数据库的序列:Sequence_第1张图片

二、复杂序列

1.语法

代码如下(示例):

create sequence  序列名
start with  开始的数字
increment by   自增或自减 步长
maxvalue 最大值                   | nomaxvalue
minvalue 最小值                   | nominvalue
cycle   循环                      | nocycle 不循环
cache   缓存多少数字               | nocache

2.创建复杂自增序列

创建一个循环序列,从1001开始计数,自增步长为1,序列最大值为1010,最小值为900,缓存5个数字。
代码如下(示例):

create sequence  seq1010
start with  1001
increment by   1
maxvalue 1010                  
minvalue 900                  
cycle               
cache   5 

执行创建的序列

select seq1010.nextval from dual;  --每执行 1 次序列加 1,加到 1010 时,循环变成 900

三、序列在表格中的使用

步骤1:创建一个需要添加序列的表格

代码如下(示例):

  create table stu_info(
  stuid varchar2(50),
  sname varchar2(50),
  age number)
  segment creation immediate;  --用于获取插入序列数从 1 开始

步骤2:创建序列,并使用序列插入新数据

代码如下(示例):

create sequence seq_stu_id; 

insert into stu_info values(seq_stu_id.nextval,'hanmeimei',17);
insert into stu_info values(seq_stu_id.nextval,'lihong',16);
insert into stu_info values(seq_stu_id.nextval,'xiaoli',14);
commit; --将插入的数据提交保存到表中

步骤3:看表格的序列内容

代码如下(示例):

  select * from stu_info; --查看表格的序列内容
  truncate table stu_info; --清空表格数据

Oracle数据库的序列:Sequence_第2张图片

你可能感兴趣的:(Oracle,数据库,oracle)