技术开发 频道

ORACLE序列:基本概念和使用说明

  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  scending 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.

  example  

create sequence seqTest
  increment
by 1
  start
with 0
  maxvalue
10000
  minvalue
0
  nocache
  cycle
  noorder;
  
select seqTest.nextval from dual;
  
select seqTest.currval from dual;
  
alter sequence seqTest
  increment
by 5;
  
drop sequence seqTest;
0
相关文章