日期:2014-05-16  浏览次数:20435 次

DB2 SEQUENCE 序列相关说明

1、序列是按照一定的规则生产的数值,序列的作用非常的大,比如银行交易中的流水号,就是记录每笔交易的关键字段。

?(1)创建SEQUENCE的时候,最好不要加双引号,比如:

db2 ==> CREATE SEQUENCE?"seq_test" ...

应该改为:

db2 ==> CREATE SEQUENCE?seq_test ...

加了双引号,表示大小写敏感,如果你使用以下语句去查找序列的话,则会报错:

db2 ==> select (nextval for seq_test) from sysibm.sysdummy1;

SQL0204N? "XXX.SEQ_TEST" is an undefined name.? SQLSTATE=42704

2.?创建SEQUENCE

通过create sequence语句创建序列,具体语法如下:
CREATE ? ?SEQUENCE ?sequence-name--·----------->
? ? ? ? ? ?'-OR REPLACE-' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ?.-AS INTEGER--------. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
>--+-------------------+--·--+------------------------------+--->
? ?'-AS--| data-type |-' ? ? '-START WITH--numeric-constant-' ??

? ? ? .-INCREMENT BY 1-----------------. ? ? ?
>--·--+--------------------------------+--·--------------------->
? ? ? '-INCREMENT BY--numeric-constant-' ? ? ?

? ?.-NO MINVALUE----------------. ? ? ?
>--+----------------------------+--·---------------------------->
? ?'-MINVALUE--numeric-constant-' ? ? ?

? ?.-NO MAXVALUE----------------. ? ? .-NO CYCLE-. ? ? ?
>--+----------------------------+--·--+----------+--·----------->
? ?'-MAXVALUE--numeric-constant-' ? ? '-CYCLE----' ? ? ?

? ?.-CACHE 20----------------. ? ? .-NO ORDER-. ? ? ?
>--+-------------------------+--·--+----------+--·-------------><