OceanBaseデータベースのOracleモードにおける生成列の操作には、VIRTUAL 列の追加と VIRTUAL 列の削除が含まれます。
VIRTUAL列の追加
VIRTUAL 列を追加する構文は以下のとおりです:
ALTER TABLE table_name ADD (column_name [datatype ][ GENERATED ALWAYS ] AS (column_expression) [VIRTUAL]);
VIRTUAL 列を追加する例は以下のとおりです:
obclient> CREATE TABLE t1(c1 INT,c2 VARCHAR(50),c3 INT GENERATED ALWAYS AS (c1 * 10) VIRTUAL);
Query OK, 0 rows affected
obclient> ALTER TABLE t1 ADD (c4 INT GENERATED ALWAYS AS (c1 + 1) VIRTUAL);
Query OK, 0 rows affected
VIRTUAL列の削除
VIRTUAL 列を削除する構文は以下のとおりです:
ALTER TABLE table_name DROP COLUMN column_name;
VIRTUAL 列を削除する例は以下のとおりです:
obclient> ALTER TABLE t1 DROP COLUMN c3;
Query OK, 0 rows affected