aboutsummaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/create_sequence.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/ref/create_sequence.sgml')
-rw-r--r--doc/src/sgml/ref/create_sequence.sgml123
1 files changed, 73 insertions, 50 deletions
diff --git a/doc/src/sgml/ref/create_sequence.sgml b/doc/src/sgml/ref/create_sequence.sgml
index 20d03240e32..d678bb319c6 100644
--- a/doc/src/sgml/ref/create_sequence.sgml
+++ b/doc/src/sgml/ref/create_sequence.sgml
@@ -18,34 +18,28 @@
<DATE>1998-04-15</DATE>
</REFSYNOPSISDIVINFO>
<SYNOPSIS>
- CREATE SEQUENCE <replaceable class="parameter">seqname</replaceable>
- [INCREMENT <replaceable class="parameter">increment</replaceable>]
- [MINVALUE <replaceable class="parameter">minvalue</replaceable>]
- [MAXVALUE <replaceable class="parameter">maxvalue</replaceable>]
- [START <replaceable class="parameter">start</replaceable>]
- [CACHE <replaceable class="parameter">cache</replaceable>]
- [CYCLE]
+CREATE SEQUENCE <replaceable class="parameter">seqname</replaceable>
+ [ INCREMENT <replaceable class="parameter">increment</replaceable> ]
+ [ MINVALUE <replaceable class="parameter">minvalue</replaceable> ]
+ [ MAXVALUE <replaceable class="parameter">maxvalue</replaceable> ]
+ [ START <replaceable class="parameter">start</replaceable> ]
+ [ CACHE <replaceable class="parameter">cache</replaceable> ]
+ [ CYCLE ]
</SYNOPSIS>
<REFSECT2 ID="R2-SQL-CREATESEQUENCE-1">
<REFSECT2INFO>
- <DATE>1998-04-15</DATE>
+ <DATE>1998-09-11</DATE>
</REFSECT2INFO>
<TITLE>
Inputs
</TITLE>
<PARA>
</PARA>
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- </TERM>
- <LISTITEM>
- <PARA>
<VARIABLELIST>
<VARLISTENTRY>
<TERM>
- <ReturnValue><replaceable class="parameter">seqname</replaceable></ReturnValue>
+ <replaceable class="parameter">seqname</replaceable>
</TERM>
<LISTITEM>
<PARA>
@@ -55,19 +49,19 @@
</VARLISTENTRY>
<VARLISTENTRY>
<TERM>
- <ReturnValue><replaceable class="parameter">increment</replaceable></ReturnValue>
+ <replaceable class="parameter">increment</replaceable>
</TERM>
<LISTITEM>
<PARA>
The <option>INCREMENT <replaceable class="parameter">increment</replaceable></option> clause is optional. A positive value will make an
- ascending sequence, a negative one a descending sequence. The default value
- is 1.
+ ascending sequence, a negative one a descending sequence.
+ The default value is one (1).
</PARA>
</LISTITEM>
</VARLISTENTRY>
<VARLISTENTRY>
<TERM>
- <ReturnValue><replaceable class="parameter">minvalue</replaceable></ReturnValue>
+ <replaceable class="parameter">minvalue</replaceable>
</TERM>
<LISTITEM>
<PARA>
@@ -81,7 +75,7 @@
</VARLISTENTRY>
<VARLISTENTRY>
<TERM>
- <ReturnValue><replaceable class="parameter">maxvalue</replaceable></ReturnValue>
+ <replaceable class="parameter">maxvalue</replaceable>
</TERM>
<LISTITEM>
<PARA>
@@ -95,7 +89,7 @@
</VARLISTENTRY>
<VARLISTENTRY>
<TERM>
- <ReturnValue><replaceable class="parameter">start</replaceable></ReturnValue>
+ <replaceable class="parameter">start</replaceable>
</TERM>
<LISTITEM>
<PARA>
@@ -107,15 +101,12 @@
for ascending sequences and
<replaceable class="parameter">maxvalue</replaceable>
for descending ones.
- <comment>
- What happens if the user specifies start outside the range?
- </comment>
</PARA>
</LISTITEM>
</VARLISTENTRY>
<VARLISTENTRY>
<TERM>
- <ReturnValue><replaceable class="parameter">cache</replaceable></ReturnValue>
+ <replaceable class="parameter">cache</replaceable>
</TERM>
<LISTITEM>
<PARA>
@@ -128,7 +119,7 @@
</VARLISTENTRY>
<VARLISTENTRY>
<TERM>
- <ReturnValue>CYCLE</ReturnValue>
+ CYCLE
</TERM>
<LISTITEM>
<PARA>
@@ -146,14 +137,11 @@
</LISTITEM>
</VARLISTENTRY>
</variablelist>
- </LISTITEM>
- </VARLISTENTRY>
- </variablelist>
</REFSECT2>
<REFSECT2 ID="R2-SQL-CREATESEQUENCE-2">
<REFSECT2INFO>
- <DATE>1998-04-15</DATE>
+ <DATE>1998-09-11</DATE>
</REFSECT2INFO>
<TITLE>
Outputs
@@ -163,6 +151,7 @@
<VARIABLELIST>
<VARLISTENTRY>
<TERM>
+<replaceable>status</replaceable>
</TERM>
<LISTITEM>
<PARA>
@@ -179,7 +168,7 @@
</VARLISTENTRY>
<VARLISTENTRY>
<TERM>
- <ReturnValue>ERROR: amcreate: '<replaceable class="parameter"> seqname</replaceable>' relation already exists</ReturnValue>
+<ReturnValue>ERROR: amcreate: '<replaceable class="parameter">seqname</replaceable>' relation already exists</ReturnValue>
</TERM>
<LISTITEM>
<PARA>
@@ -187,6 +176,36 @@
</PARA>
</LISTITEM>
</VARLISTENTRY>
+ <VARLISTENTRY>
+ <TERM>
+<ReturnValue>ERROR: DefineSequence: START value (<replaceable class="parameter">start</replaceable>) can't be > MAXVALUE (<replaceable class="parameter">maxvalue</replaceable>)</ReturnValue>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ If the specified starting value is out of range.
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
+ <VARLISTENTRY>
+ <TERM>
+<ReturnValue>ERROR: DefineSequence: START value (<replaceable class="parameter">start</replaceable>) can't be < MINVALUE (<replaceable class="parameter">minvalue</replaceable>)</ReturnValue>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ If the specified starting value is out of range.
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
+ <VARLISTENTRY>
+ <TERM>
+<ReturnValue>ERROR: DefineSequence: MINVALUE (<replaceable class="parameter">minvalue</replaceable>) can't be >= MAXVALUE (<replaceable class="parameter">maxvalue</replaceable>)</ReturnValue>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ If the minimum and maximum values are inconsistant.
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
</variablelist>
</LISTITEM>
</VARLISTENTRY>
@@ -196,7 +215,7 @@
<REFSECT1 ID="R1-SQL-CREATESEQUENCE-1">
<REFSECT1INFO>
- <DATE>1998-04-15</DATE>
+ <DATE>1998-09-11</DATE>
</REFSECT1INFO>
<TITLE>
Description
@@ -210,18 +229,20 @@
</PARA>
<para>
After the sequence is created, you may use the function
- <function>nextval()</function> with the
- sequence name as the argument to get a new number from the sequence.
- The function <function>currval('<replaceable class="parameter">sequence_name</replaceable>')</function> may be used
+<function>nextval(<replaceable class="parameter">seqname</replaceable>)</function>
+to get a new number from the sequence.
+The function
+<function>currval('<replaceable class="parameter">seqname</replaceable>')</function>
+ may be used
to determine the number returned by the last call to
- <function>nextval()</function> for the
- specified sequence in the current session.
+<function>nextval(<replaceable class="parameter">seqname</replaceable>)</function>
+ for the specified sequence in the current session.
</para>
<para>
Use a query like
<programlisting>
- SELECT * FROM sequence_name;
+SELECT * FROM sequence_name;
</programlisting>
to get the parameters of a sequence.
</para>
@@ -232,7 +253,7 @@
<REFSECT2 ID="R2-SQL-CREATESEQUENCE-3">
<REFSECT2INFO>
- <DATE>1998-04-15</DATE>
+ <DATE>1998-09-11</DATE>
</REFSECT2INFO>
<TITLE>
Notes
@@ -243,7 +264,7 @@
<para>
Each backend uses its own cache to store allocated numbers.
Numbers that are cached but not used in the current session will be
- lost.
+ lost, resulting in "holes" in the sequence.
</para>
</REFSECT2>
</refsect1>
@@ -253,25 +274,25 @@
Usage
</TITLE>
<PARA>
- Create an ascending sequence called serial, starting at 101:
+ Create an ascending sequence called <literal>serial</literal>, starting at 101:
</PARA>
<ProgramListing>
- CREATE SEQUENCE serial START 101;
+CREATE SEQUENCE serial START 101;
</ProgramListing>
<para>
Select the next number from this sequence
<programlisting>
- SELECT NEXTVAL ('serial');
+SELECT NEXTVAL ('serial');
- nextval
- -------
- 114
+nextval
+-------
+ 114
</programlisting>
</para>
<para>
Use this sequence in an INSERT:
<programlisting>
- INSERT INTO distributors VALUES (NEXTVAL ('serial'),'nothing');
+INSERT INTO distributors VALUES (NEXTVAL('serial'),'nothing');
</programlisting>
</para>
</REFSECT1>
@@ -281,18 +302,20 @@
Compatibility
</TITLE>
<PARA>
- CREATE SEQUENCE statement is a PostgreSQL language extension.
+ <command>CREATE SEQUENCE</command> is a <productname>Postgres</productname>
+ language extension.
</PARA>
<REFSECT2 ID="R2-SQL-CREATESEQUENCE-4">
<REFSECT2INFO>
- <DATE>1998-04-15</DATE>
+ <DATE>1998-09-11</DATE>
</REFSECT2INFO>
<TITLE>
SQL92
</TITLE>
<PARA>
- There is no CREATE SEQUENCE statement on SQL92.
+ There is no <command>CREATE SEQUENCE</command> statement
+ in <acronym>SQL92</acronym>.
</PARA>
</refsect2>
</refsect1>