Oracle入门(十二G)之序列
序列(SEQUENCE)序列是一数据库对象,利用它可生成唯一的整数。
由于它属于可共享对象,所以允许多个用户访问。一般情况下,序列用于创建主键值。
序列号的存储和生成与表无关。因此,同一序列可以用于多个表。
一、创建序列
create sequence 序列名
[increment by n] --指定序列号的间隔值,其中n 为整数
[start with n] --指定要生成的第一个序列号(如果省略该语句,序列将从1 开始)
[{maxvalue n | nomaxvalue}] --指定当序列达到其最大值或最小值后,是否继续生成值
NOMAXVALUE是默认选项,代表没有最大值定义,这时对于递增
序列,系统能够产生的最大值是10的27次方;对于递减序列,最大值是-1。
MINVALUE定义序列生成器能产生的最小值。选项NOMAXVALUE是
默认选项,代表没有最小值定义,这时对于递减序列,系统能够产生
的最小值是?10的26次方;对于递增序列,最小值是1。
[{minvalue n | nominvalue}]
[{cycle | nocycle}] ---表示当序列生成器的值达到限制值后是否循环。
CYCLE代表循环,NOCYCLE代表不循环。如果循环,则当递增序列达到最大值时,循环到最
小值;对于递减序列达到最小值时,循环到最大值。如果不循环,达到限制值后,继续产生新值
就会发生错误。
[{cache n | nocache}]; --指定Oracle 服务器预先分配并保留在内存中的值的个数。(默认20)如果系统崩溃,这些值将丢失。
实例:
create sequence user_seq
increment by 1
start with 1
maxvalue 50000
nocache
nocycle;
二、查询序列
(1)要验证序列已创建,请查询user_sequences数据字典。要查看序列的所有设置,请按如下所示方式查询USER_SEQUENCES 数据字典。
select sequence_name, min_value, max_value, increment_by, last_number from user_sequences;
(2)查看当前用户的所有序列
select sequence_owner,sequence_name from dba_sequences where sequence_owner='PPNIE';
注意:sequence_owner的值必须为大写,不管你的用户名是否大写。只有大写才能识别。
(3)查询当前用户的序列总数
select count(*) from dba_sequences where sequence_owner='用户名';
(4)生成删除该用户下的序列号的sql语句
select 'drop sequence ' ||sequence_name ||' ;' from dba_sequences where sequence_owner='PPNIE';
三、nextval和currval使用
nextval 伪列用于从指定序列中提取连续的序列号。必须用序列名来限定nextval。
在引用“序列名.nextval”时,会生成新的序列号,并将当前的序列号放置在currval 中。
insert into t_user(uiid,uname) values(user_seq.nextval,'系统管理员');
可以在下列上下文中使用nextval 和currval:
- 不属于子查询的select 语句的select 列表
- insert 语句中子查询的select 列表
- insert 语句的values 子句
- update 语句的set 子句
四、修改序列
alter sequence 序列名
[increment by n]
[{maxvalue n | nomaxvalue}]
[{minvalue n | nominvalue}]
[{cycle|nocycle}]
[{cache n|nocache}];
注意:不能修改序列的初始值
alter sequence seq_empid
increment by 2;
注: Oracle修改序列(Sequence)起始值的方法
五、删除序列
drop sequence 序列名;
drop sequence seq_empid
Oracle入门(十二G)之序列相关推荐
- 网络编程懒人入门(十二):快速读懂Http/3协议,一篇就够!
本文中文译文由作者"ably.io"发布于公众号"高可用架构",译文原题:<深入解读HTTP3的原理及应用>.英文原题:<HTTP/3 dee ...
- IM开发者的零基础通信技术入门(十二):上网卡顿?网络掉线?一文即懂!
[来源申明]本文引用了微信公众号"鲜枣课堂"的<上网慢?经常掉线?这篇文章告诉你该怎么办!>文章内容.为了更好的内容呈现,即时通讯网在引用和收录时内容有改动,转载时请注 ...
- Android入门(十二)SQLite事务、升级数据库
原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...
- Oracle系列十二:视图、记录、同义词、序列
Oracle视图.记录.同义词.序列 1. 视图(View) 2. 记录(Record) 3. 同义词(Synonym) 4. 序列(Sequence) 1. 视图(View) (1)基本概念 Ora ...
- 序列(sequence)(Python入门十二)
序列(sequence) - 序列是Python中最基本的一种数据结构 - 数据结构指计算机中数据存储的方式 - 序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索 ...
- Oracle入门(二)之服务启动bat
转载自 批处理(bat文件)自动启动/关闭oracle服务 批处理(bat文件) 自动启动/关闭oracle服务 判断oracle 服务状态 如果服务处于启动状态,就关闭服务: 如果服务处于关闭状态, ...
- 【FPGA入门十二】1bit全加器实现计算8位二进制数中1的个数
文章目录 一.实验任务 二.设计思路 三.代码实现 ①设计按键消抖模块 ②设计按键输入8bit二进制数 ③设计计算8bit二进制数中1的个数模块 ④设计数码管显示模块 ⑤顶层模块 ⑥设计仿真文件 ⑦仿 ...
- Oracle入门(二)
Oracle数据查询 Oracle数据库默认是: 1.字符大小写敏感 (字符字段区分大小写) 2.日期格式敏感(默认日期格式为:DD-MON-RR ) 日(两位数)-月-年(两位数) Oracle事务 ...
- [WebGL入门]十二,模型数据和顶点属性
注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:].另外.鄙人webgl研究还不够深入,一些专业词语.假设翻译有误.欢迎大家指 ...
最新文章
- 「PSR 规范」PSR-2 编码风格规范
- CSS+HTML大白
- 英语语法---从句总结
- wxWidgets:wxStaticBox类用法
- 开放搜索开源兼容版,支持Elasticsearch做搜索召回引擎
- Python3.x 基础练习题100例(91-100)
- 收藏 | 循环神经网络 RNN 详细图解!
- oracle整张表转置,从Oracle表格行列转置说起...
- Linux 的软件管理及配置 - 安装、卸载、升级、依赖
- paip.提升开发效率-----vs2010源码选择字串高亮
- (转)嘉信理财再度全面降佣,它会否成为投资界的Amazon?
- Win8之常用快捷键(1)
- 人脸关键点检测原理及实战
- ubuntu12.04双屏拼接
- sinon.js基础使用教程---单元测试
- (01)ORB-SLAM2源码无死角解析-(57) 闭环线程→计算Sim3:理论推导(2)求解R,使用四元数
- 关于CSP-S2021
- 你真的会用K折交叉吗?对于K折交叉的思考 | K折交叉的坑
- 【安装软件】 win10安装iTunes报错:“此Windows Installer软件包有一个问题。完成此安装需要......”的解决方式
- 没有痛苦的博士求学经历不是合格的(彭思龙)
热门文章
- [蓝桥杯][算法提高VIP]因式分解
- [蓝桥杯2018初赛]方格计数-巧妙枚举,找规,数论
- 群晖python套件包_利用群晖Docker安装ubuntu16.04搭建python网站服务器(部署篇)
- mysql 剔除不可见字符_不可见字符,Excel里最隐蔽的坑
- 列名无效如何解决_XSKY ClickHouse如何实现存算分离
- CoreJava 笔记总结-第四章 对象与类
- 怎么创建dllwenjian_如何创建和使用dll及lib文件
- 操作系统内存管理--简单、页式、段式、段页式
- 两数之和,输入有序数组 leetcode C++
- P3700 [CQOI2017]小Q的表格(反演、分块)