【PostgreSQL】列挙型(ENUM)の書き方

PostgreSQL構文

列挙型(ENUM)の書き方

PostgreSQLでの列挙型(ENUM型)の作り方・使い方を紹介します。

--列挙型を定義
CREATE TYPE 列挙型の名前 AS ENUM (値1 , 値2 , 値3, ・・・);

--例:色の列挙型を定義する
CREATE TYPE color AS ENUM ('RED', 'YELLOW', 'BLUE');

 

 

列挙型の使い方

上の定義で作成した列挙型の使用する方法です。

--例:色の列挙型を定義する
CREATE TYPE color AS ENUM ('RED', 'YELLOW', 'BLUE');

--テーブル作成時に列挙型を使用
CREATE TABLE car (
    code character varying(8),
    name character varying(120),
    colortype color
);

--データ登録
INSERT INTO car VALUES('001','A車','RED');   --成功
INSERT INTO car VALUES('002','B車','GREEN'); --GREENはないためエラーになる

 

 

列挙型の削除

列挙型を削除する方法です。

すでに列挙型をテーブルで使用している場合は、削除できないので注意して下さい。

削除するにはそのテーブルを削除、またはそのテーブルの列定義を変更する必要があります。

--列挙型を削除
DROP TYPE color; --すでに使われている場合はエラーとなる