- 浏览: 131592 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
qindongliang1922:
不错!
linux sort 命令 -
eve:
这个还真没注意,8错
protected访问权限又理解了一下 -
imp860124:
学习了。
struts ActionForward跳转添加参数
--序列 /* 定义语法 CREATE SEQUENCE <sequence_name> INCREMENT BY <integer> 每次的增量 START WITH <integer> 起始值 default=1 MAXVALUE <integer> / NOMAXVALUE 最大值或不限定 MINVALUE <integer> / NOMINVALUE 最小值或不限定 CYCLE / NOCYCLE 达到最大值时循环 或不循环 default NOCYCLE CACHE <#> / NOCACHE 缓存(default 20) 或不循环 ORDER / NOORDER; 排序或不排序 默认NOORDER */ create sequence seq_bird_1 increment by 1 --每次加1 start with 1 --从1开始计数 maxvalue 100000 --最大值 minvalue 1 --最小值 nocycle --一直累加,不循环 cache 20 --缓存 20 noorder --不指定排序顺序 ; create sequence ssss; select ssss.nextval from dual; alter system flush shared_pool;--清空缓存,需要有足够的权限 --再次获取序列的nextval值,会把cache的最后一个值加上增量返回 select ssss.nextval from dual; --select sys_guid() from dual; --查询序列信息 定义属性信息都可查看到 select * from user_sequences us where us.sequence_name='SEQ_BIRD_1'; select * from user_objects uo where uo.object_name='SEQ_BIRD_1' and uo.object_type='SEQUENCE'; --使用序列 declare v_seq int; begin for i in 1..100 loop--循环取100次 select seq_bird_1.nextval into v_seq from dual;--下一个值 dbms_output.put('nextVal'||v_seq||'------'); --当前值,刚创建的seq,必须执行nextval才可获取currval select seq_bird_1.currval into v_seq from dual; dbms_output.put('currVal'||v_seq); dbms_output.put_line('-'); end loop; end; select seq_bird_1.nextval from dual; --修改序列 除了start with不能修改其他的都可以修改 alter sequence seq_bird_1 increment by 2; --删除序列 drop sequence seq_bird_1; --把序列重置,回到初始位置 相当于间距修改序列的start with --创建用于重置的序列 create sequence seq_test_2 start with 1 increment by 1; --多执行几次nextval, select seq_test_2.nextval from dual; --创建用于重置序列的过程,参数为序列的名字 create or replace procedure reset_seq(seq_name varchar2) as curr_val int; d_sql_1 varchar2(200); d_sql_2 varchar2(200); begin --把当前的序列值存放到变量中 d_sql_1 :='select '||seq_name||'.nextval from dual'; execute immediate d_sql_1 into curr_val; --修改序列增量为当前当前值的相反数-1 curr_val := -(curr_val-1); d_sql_2 := 'alter sequence '||seq_name||' increment by '||curr_val; execute immediate d_sql_2; --按上面修改的增量执行一次查询nextval,这时序列当前值变为1 execute immediate d_sql_1 into curr_val; --从新设置序列的增量为1 d_sql_2 := 'alter sequence '||seq_name||' increment by 1'; execute immediate d_sql_2; --execute immediate d_sql_1 into curr_val; --dbms_output.put_line('修改后的现在序列初始值是:'||curr_val); end; --调用过程 begin empty_seq('seq_test_2'); end; --reference --http://psoug.org/reference/sequences.html
发表评论
-
oracle 数据库隔离级别
2014-04-29 17:46 1128事务不同引发的状况: 脏读(Dirty reads ... -
oracle ORA-00257
2014-02-07 10:23 769ORA-00257表示oracle日志文件已满,需清理日志空间 ... -
oracle导入sql文件
2014-01-26 14:17 23991.oracle用户登录 或root下切换 :su - or ... -
oracle 处理死锁
2013-10-30 10:23 618需以dba角色登录 --查询死锁的sql select sq ... -
oracle 数据库自增主键
2011-12-06 11:27 0oracle 自增走序列 当插入数据时,对具体的表定义ddl ... -
oracle 统计当前用户每个表的数据
2011-11-07 15:03 0declare CURSOR cs IS se ... -
oracle table sequence
2011-10-21 13:09 0-- create table tab_1 ( t_id i ... -
oracle pl/sql递归查询
2011-10-13 12:00 2526--测试用表 create table xt( xti ... -
oracle 内建函数(二)——正则
2011-08-23 23:27 0--正则 --regexp_replace - ... -
oracle 内建函数二)--分析函数
2011-08-23 16:14 0--4.分组函数,avg(),count(),ma ... -
oracle 内建函数(一)
2011-08-23 12:01 1487数字函数 --输入和输出都是数字 --abs(x) 取绝 ... -
oracle sql
2011-08-22 17:41 0--union all --*select语句中列数量 ... -
oracle 数据库事务
2011-08-16 14:43 2233数据库事务: 事务: ... -
oracle 用户角色权限管理
2011-08-15 14:15 0select * from default_pwd$; ... -
oracle 存储过程和函数
2011-08-11 18:28 1355--子程序 /* 子程序是被命名的PL/SQL块, ... -
oracle 异常处理
2011-08-09 16:55 0--异常 --预定义异常 pl/sql提供的系统例外 -- ... -
oracle 内置函数
2011-08-09 15:23 0--sql 函数 /* 单行函数:输入一行,输出一行 ... -
oracle 动态sql
2011-08-08 15:32 0--动态sql /* PL/SQL只认用户权限,不认角色 ... -
oracle trigger (触发器)
2011-08-08 11:55 3840--触发器 trigger --1.DML触发器 DM ... -
oracle cursor (游标)
2011-08-10 12:22 2599--ref 游标 /* 显示游标 多行 ...
相关推荐
**Oracle Sequence** 是一种数据库对象,用于生成连续的整数序列。它可以被用来作为表中某一列的自动增长字段,例如主键ID。Sequence的主要优点是简单易用且性能高效。 #### 二、Sequence失效的原因 1. **数据迁移...
在ORACLE数据库中,序列(SEQUENCE)是使用非常频繁的一个数据库对象,但是有时候会遇到序列(SEQUECNE)跳号(skip sequence numbers)的情形,那么在哪些情形下会遇到跳号呢? 事务回滚引起的跳号 不管序列有...
在Oracle数据库管理中,序列是一种常用的对象,用于自动产生唯一的数值。序列通常被用来作为主键或唯一标识符,特别是在自动生成记录ID时。然而,有时候我们可能需要重置序列,使其从特定值开始,例如从1开始增长,...
### ORACLE SEQUENCE 的详细介绍与应用 #### 一、概述 在数据库开发和管理中,自动编号是一项常用的功能。在 SQL Server 中,我们可以通过自增字段来实现这一功能。而在 Oracle 数据库中,则使用了一个名为 **...
在Oracle数据库中,Sequence是一种用于自动产生数值序列的对象。它可以生成连续的整数或者非连续的整数序列,并且可以根据需求进行递增或递减。Sequence常用于为表中的某列自动生成唯一的主键值或者作为流水号使用。...
Oracle中的Sequence是数据库管理系统提供的一种机制,用于生成序列化的整数,通常用于主键或唯一标识符,确保数据的唯一性和有序性。在Oracle中,Sequence不同于其他数据库系统的自增字段,例如SQL Server中的`...
在Oracle数据库中,序列是一种非常重要的工具,它用于生成唯一的整数序列,通常用作主键。然而,MySQL数据库并没有内置的序列功能。在Java应用程序中,如果需要在MySQL环境中实现类似Oracle序列的功能,我们需要自己...
首先,Oracle Sequence是一种用于生成唯一整数序列的数据库对象,常用于创建主键或唯一标识符。它允许开发者定义开始值、增量、缓存大小等参数,以满足不同场景的需求。例如,创建一个名为`USER_SEQ`的Sequence可以...
### Oracle GoldenGate 同步 Oracle Sequence 的步骤 Oracle GoldenGate 是一款强大的数据复制软件,能够实现跨平台的数据复制。在企业级应用环境中,为了确保数据的一致性和完整性,经常需要将源数据库中的序列...
在数据库领域中,不同数据库管理系统(DBMS)之间存在显著差异,比如Oracle与MySQL在处理序列(sequence)的方式上就有本质的不同。Oracle提供了内置的支持来管理自动递增的数字序列,而MySQL并没有原生支持序列这一特性...
在Oracle数据库中,序列(Sequence)是一种特殊的数据对象,它能自动地生成唯一的整数,通常用于为主键字段提供连续的标识符。序列的使用极大地简化了数据插入过程,特别是对于那些需要保持唯一性的整数字段,如员工...
### Oracle 创建表与序列知识点详解 #### 一、Oracle创建表的基本语法与示例解析 在Oracle数据库中,创建表是进行数据管理的基础操作之一。下面将通过几个具体实例来详细解析创建表的过程。 ##### 示例1:创建...
在Oracle数据库中,序列(Sequences)是一种自动递增或递减的数字生成器,常用于主键生成或者自增字段。批量修改Oracle序列值的需求可能出现在数据迁移、恢复或测试环境中,确保序列与实际数据匹配。这篇博客分享的...
在Oracle数据库管理中,索引、序列和权限设置是三个非常关键的概念,它们分别用于提高数据检索速度、自动生成唯一序列值以及控制数据库资源的访问权限。以下是对这些概念的详细解析,基于提供的实验内容: ### 一、...
### Oracle自增序列知识点详解 在数据库应用中,序列是一种常用的数据对象,它能够自动产生唯一的数值,常用于实现表中的主键自增功能。Oracle数据库提供了强大的序列管理功能,可以方便地创建、管理和使用序列。...
在Oracle数据库管理中,序列(Sequences)是一种自动增长的数字序列,通常用于主键生成,确保数据的唯一性。序列对于大型应用系统的数据插入和更新操作尤其重要,因为它们可以提供一种高效、线程安全的方式来生成...
Oracle 数据库通过序列(Sequence)这一特性支持自增字段的实现。本文将详细介绍如何利用 Oracle 的序列功能来创建自增字段,并探讨其相关的配置选项及应用场景。 ### 创建序列 (Create Sequence) #### 基本语法与...
### Oracle数据库中序列的使用 在Oracle数据库管理中,序列是一种非常实用的对象,它能够自动生成唯一的数值。这种特性使得序列在很多应用场景中都极为重要,比如为表中的记录自动分配唯一标识符(如主键)。本文将...
在Oracle中,序列(SEQUENCE)是一种特殊的数据库对象,它能生成唯一的整数序列,通常用于创建主键。你可以定义序列的起始值、增长步长、是否循环等属性。例如,创建一个名为`MY_SEQ`的序列,初始值为1,每次递增1,...