9.12. ���������

�������� PostgreSQL ���ڲ��� ���ж����ĺ��������ж���(Ҳ���������������߾�������) ������ CREATE SEQUENCE ����������ĵ��б� һ�����ж���ͨ������Ϊ�л��߱�����Ψһ�ı�ʶ���� ���к������� Table 9-34 �г��� Ϊ���Ǵ����ж����л�ȡ����������ֵ�ṩ�˼򵥵ģ����û���ȫ�� ������

Table 9-34. �����

����������������
nextval(text)bigint�������в�������ֵ
currval(text)bigint�������һ����nextval��ȡ����ֵ
setval(text, bigint)bigint�������еĵ�ǰ��ֵ
setval(text, bigint, boolean)bigint�������еĵ�ǰ��ֵ�Լ� is_called ��־

������ʷԭ�����к������ÿ��Բ�����������ͨ��һ���ı��ִ����������ġ� Ϊ�˿��Ժʹ�����ͨSQL���־���һ�������ԣ����к��������ǵIJ��� ת����Сд�������û���˫���Ű����������������

nextval('foo')      �������к� foo
nextval('FOO')      �������к� foo
nextval('"Foo"')    �������к� Foo

��Ҫʱ������������ģʽ���Ρ�

nextval('myschema.foo') �� myschema.foo �ϲ���
nextval('"myschema".foo') ͬ��
nextval('foo')      Ϊ foo ��������·��

��Ȼ���ı�����������һ�����ʽ�IJ���������������һ���򵥵��ı��� ��һ����ʱ�������õġ�

���õ����к����С�

nextval

�������ж���������һ����ֵ���ҷ��ظ�ֵ������������Զ���ɵģ� ��ʹ����Ự�������� nextval��ÿ������Ҳ�ᰲȫ���յ�һ��Ψһ������ֵ��

currval

�ڵ�ǰ�Ự�з������һ�� nextval ץ���ĸ����е���ֵ�� ������ڱ��Ự�д�δ�ڸ������ϵ��ù� nextval�� ��ô�ᱨ��һ�����󡣣���ע����Ϊ�˺�������һ���Ự��Χ����ֵ�� ��Ҳ�ܸ���һ����Ԥ�ƵĽ���������ж������Ự�Ƿ�ִ�й� nextval��

setval

�������ж���ļ�������ֵ��˫��������ʽ�������е� last_value �ֶ�Ϊ������ֵ���ҽ��� is_called �ֶ�����Ϊ true����ʾ��һ�� nextval ���ڷ�����ֵ֮ǰ���������С�����������ʽ�is_called ��������Ϊ true �� false��������������Ϊ false����ô��һ�� nextval ������������������ֵ���������� nextval �ſ�ʼ���������С� ����

SELECT setval('foo', 42);	   �´�nextval������ 43
SELECT setval('foo', 42, true);     ������һ��
SELECT setval('foo', 42, false);    �´�nextval������ 42

setval ���صĽ���������ĵڶ�����������ֵ��

Important: Ϊ�˱����ͬһ�����л�ȡ��ֵ�ĵ�ǰ���������� nextval ����������ع���Ҳ����˵��һ��һ����ֵ�Ѿ���ץ�ߣ� ��ô����Ϊ���Ѿ��ù��ˣ���ʹ���� nextval ������������˳���Ҳһ���������ζ���˳���������������и������ֵ������"�ն�"�� setval ����Ҳ�����ع���

���һ�����ж����Ǵ���ȱʡ���������ģ���ô�������� nextval �����ش�1 ��ʼ�ĺ�������ֵ�� ��������Ϊ����ͨ��ʹ�� CREATE SEQUENCE ������� ���������ȡ������������ο�ҳ��ȡ������Ϣ��