多语言展示
当前在线:1189今日阅读:138今日分享:34

在oracle中如何使用序列(sequence)

在后端开发中,有时候需要将某个字段的值实现自增列,那么这时候如何使用oracle快速实现呢,下面来认识一下sequence。
工具/原料
1

pc

2

配置好的PLSQL

方法/步骤
1

首先创建一个测试表test(这里取得是emp表中的三列,数据为空)。create table test as select t.empno ,t.ename,t.deptno from emp t。现在使用序列让empno自增长

2

创建一个序列(属性默认)。语法:create sequence 序列名;create sequence test_empno;

3

在用户字典中查看创建的序列(所有创建的序列对象都在用户字典中存放,里面存有序列名称、序列最小值、序列最大值,步长等信息)select * from user_sequences

4

使用序列添加数据(这里用到序列的属性nextval)使用时语法:序列对象.nextvalinsert into test(empno,ename,deptno)values(test_empno.nextval,'张三',10);insert into test(empno,ename,deptno)values(test_empno.nextval,'肖九',10);insert into test(empno,ename,deptno)values(test_empno.nextval,'李四',10);insert into test(empno,ename,deptno)values(test_empno.nextval,'王五',10);insert into test(empno,ename,deptno)values(test_empno.nextval,'赵六',10);insert into test(empno,ename,deptno)values(test_empno.nextval,'田七',10);insert into test(empno,ename,deptno)values(test_empno.nextval,'钱八',10);此时empno字段就实现了自增。

5

创建自定义序列。CREATE SEQUENCE test_deptno        MINVALUE 10  --定义序列最小值     START WITH 10 ---定义序列开始值     NOMAXVALUE   ---定义序列最大值     INCREMENT BY 10 ---定义序列步长       NOCYCLE  ---定义当序列增长到最大值或者减小到最小值,从新从开始值继续        CACHE 30 ---是否产生序列号预分配,并存储在内存中

6

清空测试表数据delete from test;

7

向test表中添加新数据(实现empno自增,deptno间隔10增长)insert into test(empno,ename,deptno)values(test_empno.nextval,'张一',test_deptno.nextval);insert into test(empno,ename,deptno)values(test_empno.nextval,'张二',test_deptno.nextval);insert into test(empno,ename,deptno)values(test_empno.nextval,'张三',test_deptno.nextval);insert into test(empno,ename,deptno)values(test_empno.nextval,'张四',test_deptno.nextval);insert into test(empno,ename,deptno)values(test_empno.nextval,'张五',test_deptno.nextval);insert into test(empno,ename,deptno)values(test_empno.nextval,'张六',test_deptno.nextval);

8

删除序列drop sequence test_empno;

推荐信息