¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

CREATE SEQUENCE

Name

CREATE SEQUENCE  -- ������������������������

Synopsis

CREATE [ TEMPORARY | TEMP ] SEQUENCE seqname [ INCREMENT increment ]
    [ MINVALUE minvalue ] [ MAXVALUE maxvalue ]
    [ START start ] [ CACHE cache ] [ CYCLE ]
  

����

TEMPORARY or TEMP

���ꤵ�줿��硢���Υ������󥹥��֥������ȤϤ��Υ��å�����Ѥ����Ȥ��ƺ������졢���å����λ���˼�ưŪ�˺������ޤ��� ����������󥹤�¸�ߤ����硢Ʊ��̾������Ĵ�¸�α�³�������󥹤ϥ������޽������줿̾���ǻ��Ȥ���Ƥ��ʤ���С�(���Υ��å����Ǥ�) ��Ļ�Ǥ���

seqname

�������륷�����󥹤�̾���Ǥ� (�������޽���̾�Ǥ��)��

increment

��ά��ǽ�� INCREMENT increment ��ϡ������̤����ꤷ�ޤ��������ͤϾ���Υ��������ֹ桢����ͤϹ߽�Υ��������ֹ��������ޤ������ꤷ�ʤ����Υǥե�����ͤ� 1 �Ǥ�

minvalue

��ά��ǽ�� MINVALUE minvalue ��ϡ����������ֹ�Ȥ��ƺ����Ǥ���Ǿ����ͤ���ꤷ�ޤ�������ȹ߽�Υ������󥹤Υǥե�����ͤϡ����줾�� 1 �� -2^63-1 �Ǥ���

maxvalue

��ά��ǽ�� MAXVALUE maxvalue ��ϡ����������ֹ�κ����ͤ���ꤷ�ޤ�������ȹ߽�Τ��줾��Υ��������ֹ�κ����ͤΥǥե���Ȥϡ�2^63-1��-1�Ǥ���

start

��ά��ǽ�� START start ��ˤ�äơ��������󥹤�ɤ�����Ǥ�Ϥ�뤳�Ȥ��Ǥ��ޤ����ǥե���ȤǤϡ����������ֹ椬�Ϥޤ��ͤϡ�����ξ�� minvalue �ˡ��߽�ξ�� maxvalue�ˤʤ�ޤ���

cache

CACHE cache ���ץ����ˤ�äơ����餫���᥷�������ֹ�������ơ���������˳�Ǽ���Ƥ������Ȥǥ����������®�ˤ��뤳�Ȥ��Ǥ��ޤ����Ǿ��ͤ�1�ʤ����1��ˤĤ�1�Ĥ��ͤ������������ޤ����Ĥޤꥭ��å���Ϥ���ޤ���ˤǡ����줬�ǥե���Ȥˤ�ʤäƤ��ޤ���

CYCLE

���ץ�����CYCLE������ɤϡ����硢���뤤�Ϲ߽�Υ��������ֹ椬�����줾��maxvalue�ޤ���minvalue���ͤ�ã�����Ȥ��ˡ��������󥹤򸵤��᤹���Ȥ��ǽ�ˤ��뤿��˻Ȥ��ޤ����⤷���������ֹ�θ³��ͤޤ�ã������硢��������������ֹ��minvalue �ޤ��� maxvalue�Τɤ��餫�ˤʤ�ޤ���CYCLE �λ��꤬�ʤ���硢���¤�ã������� nextval �ƤӽФ��ϥ��顼�ˤʤ�ޤ���

����

CREATE SEQUENCE

���ޥ�ɤ��������������֤�����å������Ǥ���

ERROR: Relation 'seqname' already exists

���ꤷ���������󥹤����Ǥ�¸�ߤ��Ƥ�����Υ�å������Ǥ���

ERROR: DefineSequence:MINVALUE (start) can't be >= MAXVALUE (max)

�ϰϳ��ν���ͤ����ꤵ��ޤ����ʺ����Ͱʾ���ͤ����ꤵ��ޤ����ˡ�

ERROR: DefineSequence:START value (start) can't be < MINVALUE (min)

�ϰϳ��ν���ͤ����ꤵ��ޤ����ʺǾ��ͤ�꾮�����ͤ����ꤵ��ޤ����ˡ�

ERROR: DefineSequence:MINVALUE (min) can't be >= MAXVALUE (max)

�Ǿ��͡������ͤ����̷꤬�⤷�Ƥ��ޤ��ʺǾ��ͤ��������ͤ���礭���ͤ����ꤵ��ޤ����ˡ�

����

CREATE SEQUENCE�ϡ����������������ֹ����������򸽺ߤΥǡ����١����������Ͽ���ޤ�������ϡ�seqname �Ȥ���̾������ä���Ԥ����ο������ơ��֥�κ����Ƚ������Ԥ��ޤ������������ֹ����������ϡ����Υ��ޥ�ɤ�¹Ԥ����桼���ˤ�äƽ�ͭ����ޤ���

��������̾��Ϳ�����Ƥ����硢���Υ������󥹤ϻ��ꤵ�줿�������ޤǺ�������ޤ��� ��������̾���ʤ���С��������󥹤ϸ��ߤΥ������� (�����ѥ������ˤ��륹�����ޡ�CURRENT_SCHEMA() ����) �Ǻ�������ޤ��� �ޤ���TEMP �������󥹤����̤ʥ������ޤ�¸�ߤ��뤿�ᡢTEMP �������󥹤κ������˥�������̾��Ϳ�����ʤ����⤢��ޤ��� ��������̾�ϡ�Ʊ�������������¾�Υ������󥹡��ơ��֥롢����ǥå������⤷���ϥӥ塼�Ȥϰۤʤ�̾���ˤ���ɬ�פ�����ޤ���

�������󥹤���������塢nextval��currval��setval �ؿ�����Ѥ��ƥ������󥹤����ޤ������δؿ��� �桼�������� ����������Ƥ��ޤ���

�������󥹤�ľ�ܹ������뤳�ȤϤǤ��ޤ��󤬡��ʲ��Τ褦���䤤��碌����ѤǤ��ޤ���

SELECT * FROM seqname;
   

�������Ѥ���ȡ��������󥹤Υѥ�᡼���ȸ��ߤξ��֤��ǧ���뤳�Ȥ��Ǥ��ޤ����äˡ��������󥹤� last_value �ե�����ɤ����ƤΥХå�����ɥץ������dz�����Ƥ�줿�Ǹ���ͤ򼨤��ޤ���(������󡢤����ͤ�ɽ�����줿�����ǡ�¾�Υץ������� nextval �μ¹Ԥˤ��Ť��ʤäƤ�����⤢��ޤ���)

Caution

�⤷��ʣ���ΥХå�����ɤˤ�ä�Ʊ���˻��Ѥ�����ǽ���Τ��륷�����󥹥��֥������Ȥ��Ф���cache ���꤬1�����礭����硢ͽ�۳��η�̤Ȥʤ뤳�Ȥ�����ޤ������줾��ΥХå�����ɤϥ������󥹥��֥������Ȥ˥����������뤿�Ӥ�Ϣ³�����������󥹤��ͤ������ơ�����å��夷������˱����ƥ������󥹥��֥������Ȥ� last_value �����䤷�ޤ������ˡ����ΥХå�����ɤˤ����롢����³�� cache - 1 ��� nextval �λ��Ѥ϶�ͭ���֥������Ȥ˿��뤳�Ȥʤ��������˳�����Ƥ�줿�ͤ��֤��ޤ����������äơ�������Ƥ��Ƥ⡢���ꤵ�줿���å����ǻȤ��ʤ��ä��ʥ������󥹡��ֹ���˴�����ޤ��� ����ˡ�ʣ���ΥХå�����ɤϽ�ʣ���ʤ����������ͤ�������Ƥ��뤳�Ȥ��ݾڤ���Ƥ��ޤ����������ͤϤ��٤ƤΥХå�����ɤ��оݤˤ�����硢������դ��Ƥ��뤫���꤫�Ǥ���ޤ��� �ʤ��Ȥ��С�cache ���꤬ 10 �ȤʤäƤ��ơ��Хå������ A �� 1...10 �ޤǤ��ͤ�ͽ�󤷡�nextval=1 ���֤��Ȥ�����硢�Хå������ B �� 11...20 ���ͤ�ͽ�󤷤ơ��Хå������ A �� nextval=2 �������������� nextval=11 ���֤����Ȥ�����ޤ����˽��äơ�cache���꤬ 1 �ξ�硢nextval ���ͤ�Ϣ³Ū���������������ꤹ�뤳�Ȥϰ����Ǥ�����cache ���꤬ 1 ����礭���Ȥ��ϡ�nextval ���ͤϤ��٤ƽ�ʣ���ʤ��ͤˤʤ�ޤ����������Ͻ���Ϣ³Ū�����������Ȥ����櫓�ǤϤ���ޤ���Ʊ�ͤˡ�last_value �ϡ�nextval �ˤ�äƤɤ���ͤ��֤���뤫�Ȥ������Ȥˤ�����餺���Хå�����ɤˤ�äư��ֺǶ��ͽ�󤵤줿�ͤ�ȿ�Ǥ��Ƥ��ޤ����⤦1�Ĺ�θ����٤����ϡ����Τ褦�ʥ������󥹤Ǽ¹Ԥ��줿 setval �ϥ���å��夷�Ƥ�������äƳ�����Ƥ�줿�ͤ�Ȥ��ڤ�ޤ�¾�ΥХå�����ɤˤ�ǧ������ʤ��Ȥ������ȤǤ���

����

�������󥹤�������ˤ�DROP SEQUENCE��Ȥ��ޤ���

�������󥹤� bigint ���Ѥ˴�Ť��Ƥ��ޤ��� ���Τ��ᡢ8 �Х����������ϰ�(-9223372036854775808 ���� 9223372036854775807�ޤ�)��ۤ��뤳�ȤϤǤ��ޤ��󡣸Ť�Υץ�åȥե�����Ǥϡ�8�Х��������򥵥ݡ��Ȥ��륳��ѥ��餬�ʤ����Ȥ�����ޤ��� ���ξ�硢�������󥹤��̾�� integer ���Ѥ���Ѥ��ޤ��� (�����ϰϤ� -2147483648 ���� +2147483647�ޤǤǤ���)

cache �� 1 �ʾ�ξ�硢���줾��ΥХå�����ɤ�����äƳ�����Ƥ�줿�ֹ���Ǽ���뤿��˼��Ȥ��ȼ��Υ���å����Ȥ��ޤ�������å��夵��Ƥ��Ƹ��ߤΥ��å����ǤϻȤ��Ƥ��ʤ��ֹ�Ͼä��Ƥ��ޤ����ᡢ���Υ������󥹤ˤ�"��"�������Ƥ��ޤ��ޤ���

������ˡ

101����Ϥޤ�serial�Ȥ���̾���ξ��祷�����󥹤���ˤϰʲ��Τ褦�ˤ��ޤ���

CREATE SEQUENCE serial START 101;
  

���Υ������󥹤��鼡���ֹ�����򤹤�ˤϰʲ��Τ褦�ˤ��ޤ���

SELECT nextval('serial');
    
nextval
-------
    114
   

�ʲ��Τ褦�ˤ��ơ����Υ������󥹤� INSERT �ǻ��Ѥ��ޤ���

INSERT INTO distributors VALUES (nextval('serial'), 'nothing');
   

COPY FROM �θ�ǥ��������ͤ򹹿�����ˤϰʲ��Τ褦�ˤ��ޤ���

BEGIN;
    COPY distributors FROM 'input_file';
    SELECT setval('serial', max(id)) FROM distributors;
END;
   

�ߴ���

SQL92

CREATE SEQUENCE�� PostgreSQL�����ĥ�Ǥ���SQL92�ˤ� CREATE SEQUENCEʸ�Ϥ���ޤ���