ORACLE初学第二篇

一、oracle中序列的简介

序列作为数据库中的对象,主要作用是生成唯一的主键值

二、创建序列

create sequence user_seq;

在上面的基础上:

insert into t_user values(user_seq.nextval,’xiao123456’,’xiao123456’);

然后提交事务就可以看到记录!(nextval是下一个值,currval是当前值,插入的时候要用下一个值)
我们可以查序列的当前值如下

SQL> insert into t_user values(user_seq.nextval,'xiao123456','xiao123456');
1 row insert
SQL> insert into t_user values(user_seq.nextval,'xiao123456','xiao123456');
1 row inserted

SQL> insert into t_user values(user_seq.nextval,'xiao123456','xiao123456');
1 row inserted

SQL> select user_seq.currval from dual;
   CURRVAL
----------
         3
/*通过查询虚表里面的数据*/

我们创建序列默认初始值是1,我们可以指定默认的初始值:

SQL> create sequence user_seq2 start with 100;
Sequence created

SQL> insert into t_user values(user_seq2.nextval,'xiao123456','xiao123456');
1 row inserted

SQL> select user_seq2.currval from dual;
   CURRVAL
----------
       100

三、序列的属性

Minvalue maxvalue 最大值和最小值 默认最小值 1 最大值 10 的 27 次方; Increment by 属性
序列增长步长 默认值 1 Cycle 设置循环; (了解即可,不使用); Cache 缓存设置; 一次获取序列的多个连续值,默认 20
,放到内存中,方便下次快速获取;

例如:

create sequence user_seq3 minvalue 5 maxvalue 100;

跳着增长,例子:

SQL> create sequence user_seq4 increment by 3;
Sequence created

SQL> select user_seq4.nextval from dual;
   NEXTVAL
----------
         1

SQL> select user_seq4.nextval from dual;
   NEXTVAL
----------
         4

设置缓存能进行优化

create sequence user_seq5 cache 30;

四、插入和更新语句(用的是oracle自带的dept表)

SQL> update dept set dname='司法部' where deptno=50;
1 row updated

SQL> update dept set dname='网络部',loc='China' where deptno=50;
1 row updated

SQL> insert into dept(deptno,dname)values(60,'社会舆论部');
1 row inserted

猜你喜欢

转载自blog.csdn.net/qq_31681017/article/details/73730055