LightDB23.4支持alter table add constraint disable语法糖

功能介绍

为了兼容Oracle数据库的语法,LightDB23.4支持 alter table xxx add constraint xxx disable语法糖且仅限LightDB Oracle兼容模式下使用。

使用示例

  1. 非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=# 

  1. 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=# 

你可能感兴趣的:(数据库)