生成列とは、各行の値を挿入操作または更新操作からではなく、式から派生する列です。更新トリガーおよび挿入トリガーを組み合わせて使用すると同様のことが行えますが、生成列を使用すると、派生した値が式と一貫したものであることを保証できます。
表で生成列を作成するには、列で GENERATED ALWAYS AS 文節を使用して、列の値が派生する式を含めてください。 GENERATED ALWAYS AS 文節は、 ALTER TABLE または CREATE TABLE ステートメントに含められます。次の例では、 "c1" および "c2" という通常の 2 つの列と、表の通常の列から派生した "c3" および "c4" という 2 つの生成された列の入った表を作成します。
CREATE TABLE T1(c1 INT, c2 DOUBLE, c3 DOUBLE GENERATED ALWAYS AS (c1 + c2), c4 GENERATED ALWAYS AS (CASE WHEN c1 > c2 THEN 1 ELSE NULL END) );
アプリケーションのパフォーマンスを向上させるための生成列の使用法については、 管理の手引き を参照してください。生成列を作成する方法については、 SQL 解説書 の CREATE TABLE ステートメントを参照してください。