功能介绍
为了兼容Oracle数据库的语法,LightDB23.4支持 alter table xxx add constraint xxx disable语法糖且仅限LightDB Oracle兼容模式下使用。
使用示例
- 非Oracle兼容模式使用会报错
lightdb@lt_test=# create table t1(id int);
CREATE TABLE
lightdb@lt_test=#
lightdb@lt_test=# alter table t1 add constraint pk_t1 primary key (id) disable;
ERROR: "DISABLE" OPTION is only support in Oracle compatible mode
LINE 1: ...lter table t1 add constraint pk_t1 primary key (id) disable;
^
lightdb@lt_test=#
- Oracle兼容模式下使用,由于disable是语法糖,所以会创建出主键约束
lightdb@oracle_test=# create table t1(id int);
CREATE TABLE
lightdb@oracle_test=#
lightdb@oracle_test=#
lightdb@oracle_test=# alter table t1 add constraint pk_t1 primary key (id) disable;
ALTER TABLE
lightdb@oracle_test=# \d+ t1
Table "public.t1"
Column | Type | Collation | Nullable | Default | Storage | Stats target | Description
--------+---------+-----------+----------+---------+---------+--------------+-------------
id | integer | | not null | | plain | |
Indexes:
"pk_t1" PRIMARY KEY, btree (id)
Access method: heap
lightdb@oracle_test=#