GENERATED ALWAYS AS ( valueExpression )
A valueExpression is an expression that resolves to a single value, with some limitations that are described here. See SQL expressions for more information about expressions.
The generationClause may reference other non-generated columns in the table, but it must not reference any generated column. The generationClause must not reference a column in another table.
The generationClause may invoke user-coded functions, if the functions meet the following requirements:
The generationClause must not include subqueries.
If the generated column is part of a foreign key that references another table, the referential action must not specify SET NULL or SET DEFAULT, and the update rule must not specify ON UPDATE CASCADE.
CREATE TABLE employee ( employeeID int, name varchar( 50 ), caseInsensitiveName GENERATED ALWAYS AS( UPPER( name ) ) ); CREATE INDEX caseInsensitiveEmployeeName ON employee( caseInsensitiveName );