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 中不是。