.\\" auto-generated by docbook2man-spec $Revision: 1.2 $
.TH "ALTER SEQUENCE" "" "2004-06-19" "SQL - 言語" "SQL コマンド"
.SH NAME
ALTER SEQUENCE \- シーケンス生成器の定義を変更

.SH SYNOPSIS
.sp
.nf
ALTER SEQUENCE \fIname\fR [ INCREMENT [ BY ] \fIincrement\fR ]
    [ MINVALUE \fIminvalue\fR | NO MINVALUE ] [ MAXVALUE \fImaxvalue\fR | NO MAXVALUE ]
    [ RESTART [ WITH ] \fIstart\fR ] [ CACHE \fIcache\fR ] [ [ NO ] CYCLE ]
  
.sp
.fi
.SH "説明"
.PP
\fBALTER SEQUENCE\fRは、既存のシーケンス生成器のパラメータを変更します。
\fBALTER SEQUENCE\fR で指定されていないパラメータは全て、以前の設定のままとなります。
.SH "パラメータ"
.PP
.TP
\fB\fIname\fB\fR
変更するシーケンスの名前です。(スキーマ修飾名も可。)
.TP
\fB\fIincrement\fB\fR
INCREMENT BY \fIincrement\fR句は省略可能です。
正の値は昇順のシーケンスを作成し、負の値は降順のシーケンスを作成します。
指定されない場合、以前の増分値が保持されます。
.TP
\fB\fIminvalue\fB\fR
.TP
\fBNO MINVALUE\fR
MINVALUE \fIminvalue\fR はシーケンスが生成する最小値を決定します。
NO MINVALUE が指定された場合、昇順、降順でそれぞれ1と-263-1がデフォルトになります。
どちらのオプションも指定されていなければ、現在の最小値が保持されます。
.TP
\fB\fImaxvalue\fB\fR
.TP
\fBNO MAXVALUE\fR
MAXVALUE \fImaxvalue\fR はシーケンスが生成する最大値を決定します。
NO MAXVALUE が指定された場合、昇順、降順でそれぞれ263-1と-1がデフォルトになります。
どちらのオプションも指定されていなければ、現在の最大値が保持されます。
.TP
\fB\fIstart\fB\fR
省略可能なRESTART WITH \fIstart\fR句は、シーケンスの現在値を変更します。
.TP
\fB\fIcache\fB\fR
CACHE \fIcache\fR 句により、シーケンス番号を事前に割り当て、高速にアクセスできるようにメモリに保存することができます。
最小は1です。(一度に1つの値を生成、つまり、キャッシュが無い)
指定がなければ、以前のキャッシュ値が保持されます。
.TP
\fBCYCLE\fR
省略可能なCYCLEキーワードを使用して、シーケンスが、昇順、降順それぞれ\fImaxvalue\fR または、\fIminvalue\fR に達した時、そのシーケンスを周回させることができます。
限界値に達すると、次に生成される番号はそれぞれ、\fIminvalue\fR または、\fImaxvalue\fRになります。
.TP
\fBNO CYCLE\fR
省略可能なNO CYCLEキーワードが指定されると、シーケンスの最大値に達した後の\fBnextval\fR呼び出しは全てエラーとなります。
CYCLEもNO CYCLEも指定されない場合は、以前の周回動作が保持されます。
.PP
.SH "例"
.PP
serialシーケンスを105から再開します。
.sp
.nf
ALTER SEQUENCE serial RESTART WITH 105;
.sp
.fi
.SH "注釈"
.PP
同じシーケンスから番号を取得するトランザクションの同時実行ブロックを防ぐために、\fBALTER SEQUENCE\fR はロールバックできません。
この変更は即座に効果が現われ、元に戻すことはできません。
.PP
\fBALTER SEQUENCE\fR は、実行したバックエンド以外のバックエンドにおけるnextvalにすぐに影響を与えません。別のバックエンドは、事前に割り当てられた(キャッシュされた)値を持っています。
事前にキャッシュされた値を全て使い果たした後に、変更されたシーケンスパラメータを検知します。
コマンドを実行したバックエンドは即座に効果が現われます。
.SH "互換性"
.SS "SQL99"
.PP
\fBALTER SEQUENCE\fR は PostgreSQLの言語拡張です。
SQL99には\fBALTER SEQUENCE\fR文はありません。
