如何使用枚举值在oracle中添加列?

Jes*_*ess 6 sql oracle enums

如何在Oracle中使用枚举?

上面的帖子为我提供了在创建表时创建Enum列的选项.但我有一张有价值观的桌子.我想添加另一个包含Enum值的列.

ALTER TABLE CARS **(ADD** BODY_TYPE VARCHAR2(20) 
                    CHECK (BODY_TYPE IN ('COUPE','SEDAN','SUV')) );
Run Code Online (Sandbox Code Playgroud)

我接近语法错误ADD.请指导.

Tom*_*Żuk 8

在"("之前放置"添加".

alter table cars
add
(
  body_type varchar2(20) not null check (body_type in ('COUPE','SEDAN','SUV'))
);
Run Code Online (Sandbox Code Playgroud)

  • 如果要约束当前正在创建的列body_type(从问题中编辑的查询开始),那么该查询的唯一问题是"添加"在错误的位置.如果您不想在列中允许空值,只需在"检查"之外加上"not null"约束.我已适当地编辑了我的答案. (2认同)