以前建序列時從來沒注意過這個選項,總是認為序列就一定是有序的,今天被人問道才注意了一下。原來是在
Oracle
并行服務器上用到的,我理解是不是在并行情況下,如果序列是noorder的,則取序列號時,先發(fā)出命令的實例不一定能取到大的序列。在決大多數情況下是用不到的。
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 .
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 .
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
