`
adamzhao
  • 浏览: 100939 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle: Sequence语法的nocache

阅读更多
这是一条我经常写的典型Sequence:
CREATE SEQUENCE SDOP_COC_ID Increment by 1 start with 1 minvalue 1 maxvalue 9999999999 cycle nocache order;

语法很简单,可以参考这个图:

  CREATE SEQUENCE SDOP_COC_ID -- sequence name    
  Increment by 1      --   每次加几个,你可以指定为80个每次 :wink:    
  start with   1     --   从1开始计数    
  minvalue 1           --最小为1,nominvalue为不设置最小值,Oracle会指定:升序为1,降序为负10的26次方
  maxvalue 9999999999           --最大值, NOMAXVALUE为不设置最大值,在这种情况下,Oracle默认指定:升序10的27次方,降序-1
  cycle            -- 循环,nocycle为不循环
  nocache  ;           --不缓存序列。 cache 10则表示缓存10个号,可提高效率,但可能造成跳号。  
 


nocache虽然可以提高相率,但是可能造成跳号。系统重启会丢失memory中的号。解决的方式就是使用nocache。(不知道是否有解决方法? 貌似应该有一个,没有时间研究,先记下来吧)

参考这里:http://www.lorentzcenter.nl/awcourse/oracle/server.920/a96540/statements_615a.htm#2067095
分享到:
评论
1 楼 isy 2010-04-20  
Thanks!

相关推荐

    oracle中sequence介绍及应用

    - **cache n | nocache**:如果使用cache,则系统会一次性预取n个序列值放入内存,以提高性能;nocache则不会预取,每次调用都会直接访问数据库。 - **cycle | nocycle**:如果设置了cycle,当序列达到最大值或...

    Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

    Oracle 创建自增字段方法-ORACLE SEQUENCE 的简单介绍 Oracle SEQUENCE 是一种特殊的数据库对象,用于生成一系列唯一的数值,通常用于主键或其他需要唯一标识的字段。下面将详细介绍 Oracle 创建自增字段方法-...

    ORACLE SEQUENCE的简单介绍

    创建 Sequence 的基本语法如下: ```sql CREATE SEQUENCE sequence_name INCREMENT BY increment_value -- 指定每次增加的数值 START WITH start_value -- 序列起始值 [NOMAXVALUE | MAXVALUE max_value] -- 设置...

    让CoolSQL支持Oracle Sequence的GeneratedKey,懂的入

    这一步可能需要对CoolSQL的数据库访问层进行修改,确保其能正确处理Oracle特有的Sequence语法。 2. **配置CoolSQL**:如果源码不可修改,可能可以通过配置文件或者插件的方式实现。检查CoolSQL是否提供自定义数据...

    oracle触发器语法要点

    CREATE SEQUENCE my_seq INCREMENT BY 1 START WITH 1 NO MAXVALUE NO CYCLE CACHE 20; CREATE OR REPLACE TRIGGER MY_TGR BEFORE INSERT ON tab_user FOR EACH ROW DECLARE NEXT_ID NUMBER; BEGIN SELECT my_seq...

    通过实例了解Oracle序列Sequence使用方法

    序列 序列(Sequence)是用来生成连续的整数数据的对象。序列常常用来作为主键中增长列, ...[CACHE num|NOCACHE] 语法解析: ① START WITH:从某一个整数开始,升序默认值是 1,降序默认值是-1。 ②

    sequence等同于序列号

    4. **NO CACHE**:为了防止数据丢失,可以在创建`sequence`时使用`NOCACHE`选项。 #### 六、修改Sequence 要修改`sequence`的属性,需要拥有该`sequence`的所有权或者`ALTER ANY SEQUENCE`权限。可以通过`ALTER ...

    oracle自动增长列

    [CACHE cache_size | NOCACHE]; ``` - `sequence_name`: 序列的名字。 - `INCREMENT BY increment`: 指定每次调用序列时增加的值,默认为1。 - `MINVALUE minvalue`: 指定序列的最小值。 - `MAXVALUE maxvalue`: ...

    oracle常用SQL语句(汇总版).docx

    CREATE SEQUENCE 序列号的名称 INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE; 3. 字段类型 Oracle 中有多种字段类型,包括 CHAR、VARCHAR2、NUMBER、DATE 等。不同的字段类型有不同的特点和使用场景...

    详解ORACLE SEQUENCE用法

    Oracle中的Sequence是数据库管理系统提供的一种用于生成唯一数值的机制,常用于主键生成或自增字段。在Oracle中,Sequence不直接与任何特定的表关联,而是作为一个独立的对象存在,可以独立于表进行管理和操作。以下...

    ORACLE 常用的SQL语法和数据对象

    - 使用序列(sequence)自动生成主键,例如:`CREATE SEQUENCE 序列名 START WITH 1 INCREMENT BY 1 MAXVALUE 99999 CYCLE NOCACHE;` - 主键类型为`NUMBER(6)`,最大值为999999。 - 插入时若列值为空,可直接留空...

    Oracle基本建表语句

    CREATE SEQUENCE <sequence_name> INCREMENT BY <increment_by_value> START WITH <start_with_value> MAXVALUE <max_value> NOCYCLE NOCACHE; ``` **示例:** ```sql CREATE SEQUENCE class_seq INCREMENT BY 1 ...

    Oracle数据库表序列ID自增生成器

    NOCACHE; ``` - `sequence_name`:序列的名称。 - `start_value`:序列的初始值。 - `increment_value`:每次递增的值。 - `min_value` 和 `max_value`:设定序列值的范围。 - `CYCLE` 或 `NOCYCLE`:当达到最大值...

    Oracle创建自增字段sequence

    NOCACHE -- 不设置缓存,每次使用时都会从数据库获取新值 ORDER -- 可选,确保序列值的顺序,但可能降低性能 ``` 例如,创建名为`emp_sequence`的序列: ```sql CREATE SEQUENCE emp_sequence INCREMENT BY 1 ...

    Oracle常用的SQL语法和数据对象

    - `CREATE SEQUENCE 序列号名称 [表名+序列号标记] INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;` - 最大值应根据字段长度确定,例如 NUMBER(6) 的最大值为 999999。 - 在 `INSERT` 语句中使用...

    oracle id 自动递增

    Oracle数据库中的ID自动递增是通过序列(Sequence)和触发器(Trigger)配合实现的,这对于需要自动填充主键或其他顺序标识字段的情况非常有用。序列是一个数据库对象,它按照预定的规则(如每次递增1)生成唯一的...

    Oracle 序列

    创建Oracle序列的基本语法如下: ```sql CREATE SEQUENCE sequence_name START WITH value INCREMENT BY increment [MINVALUE minvalue | NO MINVALUE] [MAXVALUE maxvalue | NO MAXVALUE] [CYCLE | NO CYCLE]...

Global site tag (gtag.js) - Google Analytics