oracle数据库开发中序列的使用

序列的概念:

序列是一数据库对象,利用它可生成唯一的整数。

一般使用序列自动地生成主码值。一个序列的值是由特殊的Oracle程序自动生成,因此序列避免了在应用层实现序列而引起的性能瓶颈。

Oracle序列允许同时生成多个序列号,而每一个序列号是唯一的。当一个序列号生成时,序列是递增,独立于事务的提交或回滚。允许

设计缺省序列,不需指定任何子句。该序列为上升序列,由1开始,增量为1,没有上限。

1: 建立序列命令

CREATE SEQUENCE [user.]sequence_name
[increment by n]
[start with n]
[maxvalue n | nomaxvalue]
[minvalue n | nominvalue];

INCREMENT BY: 指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。

START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。

MAXVALUE:指定序列可生成的最大值。

NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。

MINVALUE:指定序列的最小值。

NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026

2:更改序列命令

ALTERSEQUENCE [user.]sequence_name
[INCREMENT BY n]
[MAXVALUE n| NOMAXVALUE ]
[MINVALUE n | NOMINVALUE];

修改未来序列值的增量。

设置或撤消最小值或最大值。

改变缓冲序列的数目。

指定序列号是否是有序。

时间: 2024-08-04 12:33:39

oracle数据库开发中序列的使用的相关文章

oracle数据库表中在没有主键的情况下如何删除重复记录

问题描述 oracle数据库表中在没有主键的情况下如何删除重复记录 数据库表没有主键,没有唯一性约束,如何删除重复记录呢?求大神解答. 解决方案 http://www.cosdiv.com/page/M0/S505/505957.htmlhttp://www.jb51.net/article/35593.htmhttp://www.newhua.com/2012/0106/141377.shtml 上面几篇文章你可以点击进去看看. 如果回答对你有帮助请采纳 解决方案二: delete from

设计-如何用php和Oracle数据库开发知识库

问题描述 如何用php和Oracle数据库开发知识库 有谁知道用php和Oracle数据库开发知识库的相关书籍或者论坛资源,好像用php和Oracle数据库开发知识库这方面的东西不太多,最好是谁见过这类知识库的原型或者成功的案例,谢谢! php程序设计我还行,不过用php开发知识库的还没见过,我是想找用php开发的知识库原型看一看,什么知识库都行,我就是不知道用php开发知识库要做什么在里面 解决方案 https://www.mediawiki.org/wiki/Download/zh 世界上最

用java实现 把一个文件保存到oracle数据库表中

问题描述 如何把一个文件保存到oracle数据库表中 用java实现 解决方案 public class InsertBlobData {Connection con = null;/** * @param args * @throws Exception */public static void main(String[] args) throws Exception {// TODO Auto-generated method stubInsertBlobData data = new In

oracle数据库开发的一些经验积累(一)

oracle|数据|数据库 1.不安装Oracle客户连接Oracle 8的方法请将以下文件拷贝到运行文件所在目录 一.ODBC动态库 : ctl3d32.dll msvcrt40.dll odbc16gt.dll odbc32.dll odbc32gt.dll odbccp32.dll odbccr32.dll odbcint.dll 二.建立EXTRA子目录,将MSVCRT.DLL文件拷贝到该子目录下 EXTRA\MSVCRT.DLL 三.ORACLE动态库及配置文件 Tnsnames.or

消息队列在VB.NET数据库开发中的应用

数据|数据库 我们先简单的了解一下什么是消息队列(MSMQ)?消息队列是 Windows 2000(NT也有MSMQ,WIN95/98/me/xp不含消息队列服务但是支持客户端的运行)操作系统中通讯的基础,也是用于创建分布式.松散连接通讯应用程序的工具.这些应用程序可以通过不同种类的网络进行通讯,也可以与脱机的计算机通讯.消息队列分为用户创建队列和系统队列,用户队列分为: · "公共队列"在整个可传递消息的"消息队列"网络中复制并传输,并且有可能由网络连接的所有站点

确定Oracle数据库表中重复记录的方法

作为一个Oracle数据库开发者或者DBA,在实际工作中经常会遇到这样的问题:试图对库表中的某一列或几列创建唯一索引时,系统提示ORA-01452:不能创建唯一索引,发现重复记录. 下面我们以表code_ref为例来讨论这个问题及其解决办法. ERROR位于第1行: ORA-01452: 无法 CREATE UNIQUE INDEX:找到重复的关键字 Oracle系统提示不能对表code_ref创建一个唯一索引,因为系统发现表中存在重复的记录.我们必须首先找到表中的重复记录并删除该记录,才可以创

Oracle数据库安装中的问题及解决方法

花了两天的时间来安装Oracle数据库,中间遇到很多的问题,例如 ORA-12541,ORA-12154各种各样的问题,开始都是搜这种错误的解决方法,最后弄得越来越复杂,越来越难解决,最后才恍然大悟.原来是因为自己对于Oracle数据库连皮毛都不懂,根本就不知道数据库的运行流程,不能正确的认识装Oracle时所遇到的各种问题. 现把Oracle 12C的安装步骤写下: 1.首先是安装12C数据库,只要按照百度文库里面的文章进行安装就应该能成功. 百度文库12C安装参考 2.在安装完成后,对中间设

查找oracle数据库表中是否存在系统关键字的方法_oracle

今天在工程中遇到"ORA-01747: user.table.column, table.column 或列说明无效"的报错情况,查了一下是由于数据库列名起的不好引起的,名字用到了数据库的关键字. select * from v$reserved_words where keyword in( select COLUMN_NAME from all_tab_columns where table_name = '表名大写' and owner='用户名大写' ); ID可以忽略 以上是

MySQL数据库开发中的外键与参照完整性

mysql|数据|数据库     参照完整性(Referential integrity)是数据库设计中一个重要的概念.在系统不同的列表中,当数据库所有参照合法或非合法关联时都会涉及到参照完整性.当参照完整性存在时,任何与不存在记录的关联将变得无效化,由此可防止用户出现各种错误,从而提供更为准确和实用的数据库. 参照完整性通常通过外键(foreign key)的使用而被广泛应用.长久以来,流行工具开源RDBMS MySQL并没有支持外键,原因是这种支持将会降低RDBMS的速度和性能.然而,由于很