¾�ΥС�������ʸ�� �� 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

̾��

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

����

CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ]
    [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]
    [ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

����

CREATE SEQUENCE�ϡ����������������ֹ�����������������ޤ��� ����ϡ�name�Ȥ���̾������ä���Ԥ����ο������ü�ʥơ��֥�κ����Ƚ������Ԥ��ޤ��� ���������ֹ����������ϡ����Υ��ޥ�ɤ�¹Ԥ����桼���ˤ�äƽ�ͭ����ޤ���

��������̾��Ϳ�����Ƥ����硢���Υ������󥹤ϻ��ꤵ�줿�������ޤǺ�������ޤ��� ��������̾���ʤ���С��������󥹤ϸ��ߤΥ������ޤǺ�������ޤ��� �ޤ�������������󥹤����̤ʥ������ޤ�¸�ߤ��뤿�ᡢ����������󥹤κ������˥�������̾��Ϳ���뤳�ȤϤǤ��ޤ��� ��������̾�ϡ�Ʊ�������������¾�Υ������󥹡��ơ��֥롢����ǥå������⤷���ϥӥ塼�Ȥϰۤʤ�̾���ˤ���ɬ�פ�����ޤ���

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

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

SELECT * FROM name;

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

�ѥ�᡼��

TEMPORARY�⤷����TEMP

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

name

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

increment

��ά��ǽ��INCREMENT BY increment��ϡ����ߤΥ������󥹤��ͤ��鿷�����ͤ�����������­�����ޤ�������̤����ꤷ�ޤ��� �����ͤϾ���Υ������󥹡�����ͤϹ߽�Υ������󥹤�������ޤ��� ���ꤷ�ʤ����Υǥե�����ͤ�1�Ǥ���

minvalue
NO MINVALUE

��ά��ǽ��MINVALUE minvalue��ϡ��������󥹤Ȥ��ƺ����Ǥ���Ǿ����ͤ���ꤷ�ޤ��� ���ζ�λ��꤬�ʤ����⤷���ϡ�NO MINVALUE�����ꤵ�줿��硢�ǥե���Ȥ����Ѥ���ޤ��� ����ȹ߽�Υ������󥹤Υǥե�����ͤϡ����줾��1��-(263-1)�Ǥ���

maxvalue
NO MAXVALUE

��ά��ǽ��MAXVALUE maxvalue��ϡ��������󥹤κ����ͤ���ꤷ�ޤ��� ���ζ�λ��꤬�ʤ����⤷���ϡ�NO MAXVALUE�����ꤵ�줿��硢�ǥե���Ȥ����Ѥ���ޤ��� ����ȹ߽�Τ��줾��Υ��������ֹ�κ����ͤΥǥե���Ȥϡ�263-1��-1�Ǥ���

start

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

cache

CACHE cache���ץ����ϡ��ɤΤ��餤�ο��Υ��������ֹ�򤢤餫�����ֹ�������ơ�����˳�Ǽ���뤫����ꤷ�ޤ�������ˤ�ꥢ���������®�ˤ��뤳�Ȥ��Ǥ��ޤ��� �Ǿ��ͤ�1�ʤ����1��ˤĤ�1�Ĥ��ͤ������������ޤ����Ĥޤꥭ��å���Ϥ���ޤ���ˤǡ����줬�ǥե���Ȥˤ�ʤäƤ��ޤ���

CYCLE
NO CYCLE

CYCLE���ץ����ˤ�äơ����硢���뤤�Ϲ߽�Υ��������ֹ椬�����줾��maxvalue�ޤ���minvalue���ͤ�ã�������ˡ��������󥹤򸵤��᤹���Ȥ��Ǥ��ޤ��� �⤷���������ֹ�θ³��ͤޤ�ã������硢��������������ֹ��minvalue�ޤ���maxvalue�Τɤ��餫�ˤʤ�ޤ���

NO CYCLE�����ꤵ�줿��硢���¤�ã�������nextval�ƤӽФ��ϥ��顼�ˤʤ�ޤ��� CYCLE��NO CYCLE����ꤵ��ʤ����ϡ�NO CYCLE���ǥե���ȤǤ���

����

�������󥹤�������ˤ�DROP SEQUENCE����Ѥ��Ƥ���������

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

1����礭���ͤ����ꤵ�줿cache���������󥹥��֥������Ȥǻ��Ѥ��줿��硢���Υ������󥹤�ʣ���Υ��å�����Ʊ���˻��Ѥ�������ͽ�۳��η�̤ˤʤ��礬����ޤ��� �ƥ��å����ϡ����å���󤬥������󥹥��֥������Ȥ˥�����������ȡ�Ϣ³���륷�������ͤ������ƥ���å��夷�ޤ��� �����ơ������ȼ�����������󥹥��֥������Ȥ�last_value�����ä��ޤ��� ����ˤ�ꡢ���Υ��å������ˤ����뤽�θ��cache-1��λ��ѤǤϡ�������ƺѤߤ��ͤ�ñ���֤����������󥹥��֥������Ȥ��ѹ�����ޤ��� ���å����ˤ����Ƴ�����Ƥ�줿�����Ѥ���ʤ��ä��ֹ�ϡ����å����ν�λ�������Ƽ����ޤ��Τǡ���̤Ȥ��ƥ������󥹤�"��"���Ǥ��ޤ���

���ˡ�ʣ���Υ��å����ˤϸ��̤Υ��������ͤ�������Ƥ��뤳�Ȥ��ݾڤ���Ƥ��ޤ��������ƤΥ��å����º�Ť����ȡ��������󥹤��ͤϽ����̤�ˤʤ�ʤ����Ȥ�����ޤ��� �㤨�С�cache��10�ξ���ͤ��ޤ��� ���å����A�Ǥ�1����10�ޤǤ���ݤ���nextval=1���֤��ޤ��� ���å����B�Ǥϡ����å����A��nextval=2���֤����ˡ�11����20����ݤ���nextval=11���֤��ޤ��� ���äơ�cache��1�����ꤷ������nextval��Ϣ³�����ͤ��������뤳�Ȥ�����Ȥ��Ƥ����ꤢ��ޤ��󤬡�1����礭���ͤ�cache�����ꤵ���ȡ�nextval���ͤ�������Ϣ³���Ƥ���ΤǤϤʤ��������ۤʤ��ͤȤʤ�Ȥ������Ȥ�������Ȥ��뤳�Ȥ��Ǥ��ޤ��� �ޤ���last_value�ϡ������ͤ�nextval���֤��줿���ɤ����˴ط��ʤ������ƤΥ��å����dz��ݤ��줿�Ǹ���ͤ�ȿ�Ǥ��ޤ���

����¾���������ä��������󥹤��Ф��Ƽ¹Ԥ����setval��¾�Υ��å����Ǥϡ�����å��夷��������ƺѤ��ͤ����ƻȤ��̤����ޤǡ�ʬ����ʤ��Ȥ������Ȥ��θ���٤��Ǥ���

��

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;

�ߴ���

CREATE SEQUENCE��SQL:2003�ǵ��ꤵ��Ƥ��ޤ��� PostgreSQL�ϡ��ʲ����㳰�����������ɸ��˽����ޤ���