lightdb alter table add column 语法支持括号
背景
在 Oracle 中,在旧表上用 alter table
命令一次添加多列是可以把列定义放在要括号里的,而 lightdb 之前版本 alter table
命令必须要多次执行 add ...
. 此次版本允许 lightdb 有同样功能。LightDB 版本为 LightDB1.0.V202303.00.000
.
用例
- 以下行为都是允许的
CREATE TABLE foo(a int);
ALTER TABLE foo ADD COLUMN a1 int;
ALTER TABLE foo ADD COLUMN a2 int default 3;
ALTER TABLE foo ADD COLUMN b1 int, ADD COLUMN b2 int;
ALTER TABLE foo ADD (c1 int);
ALTER TABLE foo ADD (c2 int default 3);
ALTER TABLE foo ADD (e1 int), ADD e2 int, ADD COLUMN e3 int, ADD (e4 int, e5 int);
begin
execute immediate 'alter table foo add(d int)';
end;
/
- 但是如果使用了括号,则不能再加
COLUMN
关键字( oracle 没有这个关键字)。
# ALTER TABLE foo ADD COLUMN (e1 int); --fails
ERROR: syntax error at or near "("
LINE 1: ALTER TABLE foo ADD COLUMN (e1 int);
^
posted on 2023-07-27 14:33 winter-loo 阅读(49) 评论(0) 编辑 收藏 举报