【PostgreSQL】列挙型(ENUM)の書き方
列挙型(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; --すでに使われている場合はエラーとなる