PostgreSQLで自動増加シーケンスを作成する方法は何ですか?
PostgreSQLで自動増分シーケンスを作成するには、以下の構文を使用します:
CREATE SEQUENCE sequence_name
[INCREMENT BY increment]
[MINVALUE minvalue]
[MAXVALUE maxvalue]
[START WITH start]
[CACHE cache]
[CYCLE | NO CYCLE]
[OWNED BY table_name.column_name];
sequence_nameは作成したいシーケンスの名前であり、incrementは増分の値で、デフォルトは1です。minvalueとmaxvalueはシーケンスの最小値と最大値であり、startはシーケンスの開始値で、デフォルトは1です。cacheはキャッシュされるシーケンスの値の数であり、デフォルトは1です。CYCLEはシーケンスが循環することを示し、NO CYCLEはシーケンスが循環しないことを示します。table_name.column_nameはそのシーケンスを持つテーブルと列です。
以下は日本語での説明例です。
CREATE SEQUENCE employee_id_seq
INCREMENT BY 1
START WITH 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
これはemployee_id_seqという名前のシーケンスを作成し、1ずつ増加し、開始値は1で、最小値と最大値はなく、シーケンスの値を1つずつキャッシュします。