为什么我收到错误 'Invalid table name',当我尝试使用第一个 table 的 primray 键和外键创建另一个 table

Why am I getting an error 'Invalid table name', When i am trying to create another table with foreign key with the primray key of the first table

有一个父项 table,名称为 "SALESPERSON123",主键为 "SSN"

SQL> DESC SALESPERSON123;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------

 SSN                                       NOT NULL VARCHAR2(30)
 NAME                                               VARCHAR2(30)
 START_YR                                           NUMBER
 DEPT_NO                                            VARCHAR2(30)

我想创建另一个 table "Trip",我想在其中创建 "SSN" 外键,但出现以下错误。

SQL> CREATE TABLE TRIP
  2  (
  3  TRIP_ID VARCHAR2(30),
  4  SSN VARCHAR2(30),
  5  FROM_CITY VARCHAR2(30),
  6  TO_CITY VARCHAR2(30),
  7  DEP_DATE NUMBER,
  8  RETURN_DATE NUMBER,
  9  FOREIGN KEY (SSN) REFERENCES TO SALESPERSON123(SSN),
 10  PRIMARY KEY (TRIP_ID)
 11  );
FOREIGN KEY (SSN) REFERENCES TO SALESPERSON123(SSN),
                             *
ERROR at line 9:
ORA-00903: invalid table name

我尝试了多次,删除并再次创建父项 table 但没有用。

删除TO。必须是:

FOREIGN KEY (SSN) REFERENCES SALESPERSON123(SSN),

而不是

FOREIGN KEY (SSN) REFERENCES TO SALESPERSON123(SSN),

外键是一种在 Oracle 数据库中强制执行引用完整性的方法。外键意味着一个 table 中的值也必须出现在另一个 table.

引用的 table 称为父 table,而带有外键的 table 称为子 table。子 table 中的外键通常会引用父 table 中的主键。

外键可以在 CREATE TABLE 语句或 ALTER TABLE 语句中定义。

CREATE TABLE supplier
    ( supplier_id numeric(10) not null,
      supplier_name varchar2(50) not null,
      contact_name varchar2(50),
      CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
    );

    CREATE TABLE products
    ( product_id numeric(10) not null,
      supplier_id numeric(10) not null,
      CONSTRAINT fk_supplier
        FOREIGN KEY (supplier_id)
        REFERENCES supplier(supplier_id)

);