暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
ORACLE SEQUENCE用法.pdf
172
5页
7次
2024-04-25
免费下载
ORACLE SEQUENCE 用法
Oracle
中,当需要建立一个自增字段时,需要用到 sequencesequence 也可以在 mysql 中使用,但是有些差别,日后再补充,先把 oracle
sequence 的基本使用总结一下,方便日后查阅。
oracle sequence 就是序号,每次取的时候它会自动增加。sequence 与表没有关系。
1. Create Sequence
首先要有 CREATE SEQUENCE 或者 CREATE ANY SEQUENCE 权限。
创建语句如下:
CREATE SEQUENCE seqTest
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 1 开始计数
NOMAXvalue -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10; --设置缓存 cache 个序列,如果系统 down 掉了或者其它情况将会导致序列不连续,也可以设置---------NOCACHE
说明:
minvalue
:序列最小值
maxvalue/nomaxvalue
:序列最大值/没有最大值
start with 1:序列从 1 开始
increment by 1:每次 1
cache/nocache
nocache 不缓存。cache 缓存。开启缓存,效率高,只是如果数据库宕机了,缓存丢失,会出现序列跳号情况。
2.查看已有
sequence
select * from user_sequences;
Select * from all_sequences;
3.得到 Sequence
两种方式
select last_number from user_sequences where sequence_name='SEQ_ON_USER';
select SEQ_ON_USER.nextval from sys.dual;
定义好
sequence
后,你就可以用 currValnextVal 取得值。
CurrVal:返回 sequence 的当前值
NextVal:增加 sequence 的值,然后返回 增加后 sequence
得到值语句如下:
SELECT Sequence 名称.CurrVal FROM DUAL;
如得到上边创建
Sequence
值的语句为:
select seqtest.currval from dual
Sql 语句中可以使用 sequence 的地方
-
不包含子查询、snapshotVIEW SELECT 语句
- INSERT 语句的子查询中
- INSERT 语句的 values
- UPDATE
SET
如在插入语句中
insert into
表名(id,name)values(seqtest.Nextval,'sequence 插入测试');
of 5
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜