【发布时间】:2018-05-04 23:53:47
【问题描述】:
我正在使用 Oracle。
CREATE TABLE "CUSTOMER"
(
"CUS_ID" VARCHAR2(9),
"CUSTOMER_NAME" VARCHAR2(30),
"EMAIL" VARCHAR2(30),
"BIRTH_DATE" DATE,
"Mobile_number" NUMBER (10),
"Number_adopted" (number) (1);
CONSTRAINT "CUSTOMER_PK" PRIMARY KEY ("CUS_ID")
constraint "Email_uni" unique (EMAIL)
constraint "Mobile_uni" unique (Mobile_number)
constraint "adopted_range_ck" check ( Number_adopted >=1 and Number_adopted<=4) USING INDEX ENABLE
);
我得到:
ORA-00902: 无效的数据类型
也在此表中:
CREATE TABLE "ANIMAL"
( "ANIMAL_ID" VARCHAR2(9),
"ANIMAL_NAME" VARCHAR2(30),
"AGE" NUMBER(2),
"ANIMAL_TYPE" VARCHAR2(30),
"EXPENCES" NUMBER (10),
"ADOPTED" VARCHAR2(9),
CONSTRAINT "ANIMAL_PK" PRIMARY KEY ("ANIMAL_ID")
CONSTRAINT "ANIMAL_EXP_ck check" ( EXPENCES >=1 and EXPENCES<=1000)
CONSTRAINT "ANIMAL_AGE_ck check" ( AGE >=1)
USING INDEX ENABLE
);
我收到缺少右括号的错误,但我无法解决这个问题。
【问题讨论】:
-
你的 DBMS 是什么?
-
它是 APEX 甲骨文
-
Oracle是DBMS,APEX是UI开发工具,本题不涉及。
-
"Mobile_number"和"Number_adopted"被强制混合大小写而其他所有名称都不区分大小写的意义是什么?双引号标识符用于特殊情况,而不是常规的表创建。 -
在询问之前,至少要努力寻找解决方案。在这种情况下,您可以从具有单列的表开始。在它工作之后,添加另一列,添加想法,添加约束。
标签: sql oracle create-table