列式(Column Expression)は、制約されたexprの一形態であり、式の構文ではcolumn_expressionと命名されています。
列式は単純式、複合式、関数式、または式のリストにすることができますが、以下の形式の式のみを含むことができます:
ターゲットテーブル(作成、変更、またはインデックス対象のテーブル)の列。
定数(文字列または数値)。
確定的な関数(SQL組み込み関数またはユーザー定義関数)。
上記の形式以外の式は有効な列式ではありません。また、列式ではPRIORキーワードを使用した複合式や集約関数の使用はサポートされていません。
列式を使用することで、以下の目的を実現できます:
関数ベースのインデックスを作成します。
仮想列を明示的または暗黙的に定義します。仮想列を定義する際、
column_expressionはその前のステートメントで既に定義されているターゲットテーブルの列にのみ適用されます。
列式の構成要素は確定的でなければなりません。つまり、同じ値を入力した場合には常に同じ出力値を返す必要があります。