zoukankan      html  css  js  c++  java
  • Oracle sequence 的 order/noorder 选项

    以前建序列时从来没注意过这个选项,总是认为序列就一定是有序的,今天被人问道才注意了一下。原来是在Oracle并行服务器上用到的,我理解是不是在并行情况下,如果序列是noorder的,则取序列号时,先发出命令的实例不一定能取到大的序列。在决大多数情况下是用不到的。

    CREATE SEQUENCE command

    PURPOSE:
        To create a sequence. A sequence is a database object from which
        multiple users may generate unique integers. You can use sequences
        to automatically generate primary key values.

    SYNTAX:

    CREATE SEQUENCE [schema.]sequence
        [INCREMENT BY integer]
        [START WITH integer]
        [MAXVALUE integer | NOMAXVALUE]
        [MINVALUE integer | NOMINVALUE]
        [CYCLE | NOCYCLE]
        [CACHE integer | NOCACHE]
        [ORDER | NOORDER]

    where:

    schema
        is the schema to contain the sequence. If you omit schema, Oracle
        creates the sequence in your own schema.

    sequence
        is the name of the sequence to be created.

    INCREMENT BY
        specifies the interval between sequence numbers. This value can be
        any positive or negative Oracle integer, but it cannot be 0. If
        this value is negative, then the sequence descends. If the
        increment is positive, then the sequence ascends. If you omit this
        clause, the interval defaults to 1.

    MINVALUE
        specifies the sequence's minimum value.

    NOMINVALUE
        specifies a minimum value of 1 for an ascending sequence or -10
        for a descending sequence.

        The default is NOMINVALUE.

    MAXVALUE
        specifies the maximum value the sequence can generate.

    NOMAXVALUE
        specifies a maximum value of 10
        for a descending sequence.

    The default is NOMAXVALUE.

    START WITH
        specifies the first sequence number to be generated. You can use
        this option to start an ascending sequence at a value greater than
        its minimum or to start a descending sequence at a value less than
        its maximum. For ascending sequences, the default value is the
        sequence's minimum value. For descending sequences, the default
        value is the sequence's maximum value.

    CYCLE
        specifies that the sequence continues to generate values after
        reaching either its maximum or minimum value. After an ascending
        sequence reaches its maximum value, it generates its minimum value.
        After a descending sequence reaches its minimum, it generates its
        maximum.

    NOCYCLE
        specifies that the sequence cannot generate more values after
        reaching its maximum or minimum value.

        The default is NOCYCLE.

    CACHE
        specifies how many values of the sequence Oracle preallocates and
        keeps in memory for faster access. The minimum value for this
        parameter is 2. For sequences that cycle, this value must be less
        than the number of values in the cycle.

    NOCACHE
        specifies that values of the sequence are not preallocated.

        If you omit both the CACHE parameter and the NOCACHE option, Oracle
        caches 20 sequence numbers by default. However, if you are using
        Oracle with the Parallel Server option in parallel mode and you
        specify the ORDER option, sequence values are never cached,
        regardless of whether you specify the CACHE parameter or the NOCACHE
        option.

    ORDER
        guarantees that sequence numbers are generated in order of request.
        You may want to use this option if you are using the sequence
        numbers as timestamps. Guaranteeing order is usually not important
        for sequences used to generate primary keys.

    NOORDER
        does not guarantee sequence numbers are generated in order of
        request.

        If you omit both the ORDER and NOORDER options, Oracle chooses
        NOORDER by default. Note that the ORDER option is only necessary to
        guarantee ordered generation if you are using Oracle with the
        Parallel Server option in parallel mode. If you are using exclusive
        mode, sequence numbers are always generated in order.

    PREREQUISITES:
        To create a sequence in your own schema, you must have CREATE
        SEQUENCE privilege.

        To create a sequence in another user's schema, you must have CREATE
        ANY SEQUENCE privilege. If you are using Trusted Oracle in DBMS MAC
        mode, your DBMS label must dominate the creation label of the owner
        of the schema to contain the sequence.
  • 相关阅读:
    gridview填加双击事件
    后台找前台服务器控件,客户端控件方法
    ie缓存是什么 和 清除ie缓存方法
    js 去掉空格的方法
    SQL 用户sa登录失败,该用户与可信sql server连接无关联
    (转)C#里面比较时间大小三种方法
    sql UNION 和 UNION ALL 的区别
    windows 计划任务 打开窗口
    mysql 优化8种方式
    javascript小括号表达式
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400588.html
Copyright © 2011-2022 走看看