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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值