SQL 创建 TABLE 缺少左括号错误
SQL CREATE TABLE missing left parentheses error
CREATE TABLE residents
(
R_ID NUMBER(4), CONSTRAINTS pk_residents_R_ID PRIMARY KEY,
R_FN VARCHAR2(15), NOT NULL,
R_LN VARCHAR2(15), NOT NULL,
R_Contact NUMBER(10), NOT NULL,
DoB DATE, NOT NULL
);
尝试了一些更改,但我无法解决此错误。如有任何帮助,我们将不胜感激!
它以这种方式适用于 Oracle:
CREATE TABLE residents(
R_ID NUMBER(4),
R_FN VARCHAR2(15) NOT NULL,
R_LN VARCHAR2(15) NOT NULL,
R_Contact NUMBER(10) NOT NULL,
DoB DATE NOT NULL,
pk_residents_R_ID NUMBER(4) PRIMARY KEY
);
最接近您尝试的代码是:
SQL> CREATE TABLE residents
2 (
3 r_id NUMBER (4) CONSTRAINT pk_residents_r_id PRIMARY KEY,
4 r_fn VARCHAR2 (15) NOT NULL,
5 r_ln VARCHAR2 (15) NOT NULL,
6 r_contact NUMBER (10) NOT NULL,
7 dob DATE NOT NULL
8 );
Table created.
SQL>
- 关键字是
constraint
,不是constraintS
- 不要用逗号将
NOT NULL
(或任何其他约束)与其列分隔开
此外,使用混合字母大小写无关紧要,因为 Oracle - 默认情况下 - 以大写形式存储对象名称。就是这样,除非您决定将名称括在双引号中,但是您将始终必须使用双引号并完全匹配字母大小写 - 这不是任何人应该做的,在 Oracle 中不是。
CREATE TABLE residents
(
R_ID NUMBER(4), CONSTRAINTS pk_residents_R_ID PRIMARY KEY,
R_FN VARCHAR2(15), NOT NULL,
R_LN VARCHAR2(15), NOT NULL,
R_Contact NUMBER(10), NOT NULL,
DoB DATE, NOT NULL
);
尝试了一些更改,但我无法解决此错误。如有任何帮助,我们将不胜感激!
它以这种方式适用于 Oracle:
CREATE TABLE residents(
R_ID NUMBER(4),
R_FN VARCHAR2(15) NOT NULL,
R_LN VARCHAR2(15) NOT NULL,
R_Contact NUMBER(10) NOT NULL,
DoB DATE NOT NULL,
pk_residents_R_ID NUMBER(4) PRIMARY KEY
);
最接近您尝试的代码是:
SQL> CREATE TABLE residents
2 (
3 r_id NUMBER (4) CONSTRAINT pk_residents_r_id PRIMARY KEY,
4 r_fn VARCHAR2 (15) NOT NULL,
5 r_ln VARCHAR2 (15) NOT NULL,
6 r_contact NUMBER (10) NOT NULL,
7 dob DATE NOT NULL
8 );
Table created.
SQL>
- 关键字是
constraint
,不是constraintS
- 不要用逗号将
NOT NULL
(或任何其他约束)与其列分隔开
此外,使用混合字母大小写无关紧要,因为 Oracle - 默认情况下 - 以大写形式存储对象名称。就是这样,除非您决定将名称括在双引号中,但是您将始终必须使用双引号并完全匹配字母大小写 - 这不是任何人应该做的,在 Oracle 中不是。