Oracle 查询序列的值,修改序列的值

1.序列的语法形式

1 create sequence 序列名
2     increment by n
3     start with n
4     maxvalue n | nomaxvalue
5     minvalue n | nominvalue
6     cycle      | nocycle
7     cache n    | nocache

序列以(start with n)为第一个序列的值,序列各值之间的间隔为(increment by n),序列的最大值为(maxvalue n),序列的最小值为(minvalue n)
cycle表示如果序列的值大于最大值则开始从最小值循环(默认不循环产生),cache n 表示数据库预先分配n个值保存在内存中(默认20个)

2.创建序列

 1 --创建序列 dept_deptid_seq
 2 create sequence dept_deptid_seq
 3     increment by 10
 4     start with 280
 5     maxvalue 9990
 6     nocycle
 7     nocache
 8
 9 --创建默认序列 no_no_seq
10 create sequence no_no_seq

默认序列,为上升序列,由1开始,增量为1,没有上限,缓存中序列值个数为20

3.查询序列的值

当刚创建好序列后,不能直接查询当前序列的值,必须先用 nextval 查询下一个序列的值,之后才可以使用currval查询当前序列的值。

查询序列

select sequence_name ,last_number, min_value,max_value,increment_by
from user_sequences

第一次使用nextval 查询到的值就是 (start with n) .

select dept_deptid_seq.nextval from dual

之后就可以任意使用 currval 了。

select dept_deptid_seq.currval from dual

当再次查询序列,它的 last_number 变为了序列的下一个值。

4.修改序列的值

将序列 dept_deptid_seq 的间隔变为1后,查询序列 ,并输出序列的下一个值

alter sequence dept_deptid_seq increment by 1

select sequence_name ,last_number, min_value,max_value,increment_by
from user_sequences

select dept_deptid_seq.nextval from dual

参考:

原文地址:https://www.cnblogs.com/jiaxinwei/p/10294177.html

时间: 2024-11-29 08:31:36

Oracle 查询序列的值,修改序列的值的相关文章

oracle 查询 当前最大时间的value的值

数据列表: table : text id  datetime        name    value 1   2015-03-1     张三       3400 2   2015-03-1     李四       2500 3   2015-03-2     张三       2300 4   2015-03-2     王五       2100 我要取得值是   最大时间的 name为张三的    value的值 一般情况下,我们用的是  先把时间查询出来,然后根据时间再去查.但是

通过反射 修改访问和修改属性的值 Day25

package com.sxt.field; /* * 通过反射拿到属性值 * 修改public属性值 * 修改private属性值 * 缺点:可读性差:代码复杂 * 优点:灵活:可以访问修改private属性值 * 以后多运用setXxx getXxx 修改属性的值 */ import java.lang.reflect.Field; import java.lang.reflect.Modifier; public class TestField { public static void m

Oracle修改序列(Sequence)起始值的方法

Oracle修改序列(Sequence)起始值的方法 Oracle 序列(Sequence)主要用于生成流水号,在应用中经常会用到,特别是作为ID值,拿来做表主键使用较多. 但是,有时需要修改序列初始值(START WITH)时,有同仁使用这个语句来修改:alter sequence sequencename start with xxxxxxxx.但是,在Oracle DB中,修改序列没有这样的语法.下面介绍几种修改方式: 1.先删除序列,然后重新创建.不过这不是当前要讲的重点.这个方法比较暴

oracle修改序列

Oracle 序列(Sequence)主要用于生成流水号,在应用中经常会用到,特别是作为ID值,拿来做表主键使用较多. 但是,有时需要修改序列初始值(START WITH)时,有同仁使用这个语句来修改:alter sequence sequencename start with xxxxxxxx.但是,在Oracle DB中,修改序列没有这样的语法.下面介绍几种修改方式: 1.先删除序列,然后重新创建.不过这不是当前要讲的重点.这个方法比较暴力,也比较方便,如果序列有在用,会影响应用的正常使用.

Oracle系列:(24)序列

什么是序列[Sequence] (1)类似于MySQL中的auto_increment自动增长机制,但Oracle中无auto_increment机制 (2)是oracle提供的一个产生唯一数值型值的机制 (3)通常用于表的主健值 (4)序列只能保证唯一,不能保证连续 声明:oracle中,只有rownum永远保持从1开始,且继续 (5)序列值,可放于内存,取之较快 题问:为什么oracle不直接用rownum做主健呢? rownum=1这条记录不能永远唯一表示SMITH这个用户 但主键=1确可

java:Oracle(视图,索引,序列)

1.索引:索引一共分为4种 -- 在oracle中, -- normal:普通索引 -- unique:唯一索引 -- bitmap:位图索引 -- B 树索引:默认:如果不建立索引的情况下,oracle就自动给每一列都加一个B 树索引 -- index(下标,索引):作为索引,在oracle如果自带索引能满足当前查询需求,就只需要建立索引,oracle自带机制会帮你使用 -- 如果当前查询oracle自带的索引满足不了,就要自己编写索引 (不学) -- 索引就可以直接理解为一个目录 -- 二叉

Oracle数据库对象,同义词、序列、视图、索引

数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提供对对象的公共访问 同义词共有两种类型: CREATE USER test IDENTIFIED BY test; GRANT CONNECT , CREATE SYNONYM TO test; GRANT SELECT ON SCOTT.EMP TO test; GRANT DELETE ON S

Oracle数据库对象(视图、序列、索引、同义词)

1.视图 视图是一张虚表(是表但是没有数据,数据来自于视图所依赖的表) (1)先为用户授权: 管理员登录: 管理员授权给用户SCOTT: (2)视图的创建: (3)优点:简化查询,有的时候只需查询视图即可,不需要再写复杂的查询语句来查询数据. (4)删除视图: drop view 视图名称: 只是删除视图,不会删除表中的数据. 2.序列 序列的功能和auto_increment的功能相同,主要用于提供主键的值,序列输一个数组,存储在内存中,可以提高访问效率. (1)序列的定义: CREATE S

用Oracle11g创建序列后插入数据的初始值老是从2开始

Oracle新表使用序列(sequence)作为插入值,初始值不是第一个, oraclesequence 1 --创建测试表-- 2 CREATE TABLE tbl_test( 3 test_id NUMBER PRIMARY KEY, 4 test_name VARCHAR2(20) 5 ); 6 7 --为tbl_test创建序列-- 8 CREATE SEQUENCE seq_test 9 INCREMENT BY 1 -- 每次加几个 10 START WITH 1 -- 从1开始计数