OceanBaseデータベースのMySQLモードにおける生成列の操作には、STORED 列の追加、STORED 列の変更、STORED 列の削除、VIRTUAL 列の追加、および VIRTUAL 列の削除が含まれます。
STORED列の追加
STORED 列を追加する構文は以下のとおりです:
ALTER TABLE table_name ADD COLUMN (column_name INT GENERATED ALWAYS AS
(column_expression) STORED);
STORED 列を追加する例は以下のとおりです:
obclient> CREATE TABLE t1(c1 INT,c2 VARCHAR(50));
Query OK, 0 rows affected
obclient> ALTER TABLE t1 ADD COLUMN (c3 INT GENERATED ALWAYS AS (c1 + 1) STORED);
Query OK, 0 rows affected
STORED列の削除
STORED 列を削除する構文は以下のとおりです:
ALTER TABLE table_name DROP COLUMN column_name;
STORED 列を削除する例は以下のとおりです:
obclient> ALTER TABLE t1 DROP COLUMN c3;
Query OK, 0 rows affected
VIRTUAL列の追加
VIRTUAL 列を追加する構文は以下のとおりです:
ALTER TABLE table_name ADD COLUMN column_name INT GENERATED ALWAYS AS
(column_expression) VIRTUAL;
VIRTUAL 列を追加する例は以下のとおりです:
obclient> ALTER TABLE t1 ADD COLUMN (c3 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