生成列(GENERATED)の使い方

ほかの列から自動で計算される列

書き方

列 型 GENERATED ALWAYS AS (式) STORED(PostgreSQL)
列 型 GENERATED ALWAYS AS (式) [VIRTUAL](Oracle の仮想列)

式の値が自動で入り、元の列を変えると計算し直されます。生成列に値を直接入れることはできません。PostgreSQL では STORED(値を保存する)と書きます。

例

CREATE TABLE items (price integer, qty integer, total integer GENERATED ALWAYS AS (price * qty) STORED);

実際に打って練習する

PostgreSQL コースの Lv9「自動で計算する列 GENERATED」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜2 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

PostgreSQL の構文一覧(psql・JSONB・PL/pgSQL)へ戻る