首批通过分布式安全可靠测评,为关键业务系统打造
生成列操作
更新时间:2024-10-31 23:00:00
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