¾�ΥС�������ʸ�� �� 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�Ȥ���̾������ġ�1�Ԥ������ü�ʥơ��֥�κ����Ƚ������Ԥ��ޤ��� �������󥹥����ͥ졼���ϡ����Υ��ޥ�ɤ�¹Ԥ����桼���ˤ�äƽ�ͭ����ޤ���

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

�������󥹤���������塢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�Ĥ����ʤΤǡ�����å��夬�ʤ����֤ˤʤ�ޤ��ˡ����줬�ǥե���ȤˤʤäƤ��ޤ���

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�ޤǡˡ�

�������󥹥��֥������Ȥ�cache�Ȥ���1����礭���ͤ����ꤷ����硢���Υ������󥹤�ʣ���Υ��å�����Ʊ���˻��Ѥ���ȡ�ͽ�۳��η�̤ˤʤ��ǽ��������ޤ��� �ƥ��å����ϡ��������󥹥��֥������Ȥؤ�1��Υ��������δ֤ˡ�Ϣ³���륷�������ͤ������������å��夷�ޤ��� �����ơ�����å��夷�����˱����ơ��������󥹥��֥������Ȥ�last_value�����ä����ޤ��� ���ξ�硢���Υ��å����ϡ����θ��cache-1����Ф��Ƥϡ����餫��������ѤߤΥ��������ͤ��֤����������󥹥��֥������Ȥ��ѹ����ޤ��� ���å����˳�����Ƥ�줿�����Ѥ���ʤ��ä����������ֹ�ϡ����å����ν�λ�������Ƽ����뤿�ᡢ��̤Ȥ��ƥ������󥹤�"��"���Ǥ��ޤ���

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

����¾�����Τ褦�ʥ������󥹤��Ф���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�˽����ޤ���