SQL 完整性约束主键和外键

SQL integrity constraints primary and foreign keys

我正在按照一些示例进行操作,下面的示例应该有效,但我遇到了一些错误。谁能告诉我哪里出了问题?

/*  Data Definition */

CREATE TABLE CUSTOMERS
        (CUST_NO        INTEGER         ,
        CUST_NAME       VARCHAR(40)     ,
        STREET          VARCHAR(40)     ,
        TOWN            VARCHAR(40)     ,
        POSTCODE        INTEGER         ,
        CR_LIMIT        INTEGER         ,
        CURR_BALANCE    INTEGER         ,
        PRIMARY KEY (CUST_NO)
        );

CREATE TABLE PRODUCTS
        (PROD_COD       VARCHAR(10)     ,
        DESCRIPTION     VARCHAR(50)     ,
        PROD_GROUP      CHAR(1)         , 
        LIST_PRICE      INTEGER         ,
        QTY_ON_HAND     INTEGER         ,
        REMAKE_LEVEL    INTEGER         ,
        REMAKE_QTY      INTEGER         ,
        PRIMARY KEY (PROD_COD)
        );

CREATE TABLE ORDERS
        (ORDER_NO       INTEGER         ,
        ORDER_DATE      DATE            ,
        CUST_NO         INTEGER         ,
        PRIMARY KEY (ORDER_NO),
        FOREIGN KEY (CUST_NO) REFERENCES CUSTOMERS(CUST_NO)
);

CREATE TABLE ORDER_DETAILS
        (ORDER_NO       INTEGER         ,
        PROD_COD        VARCHAR(10)     ,
        ORDER_QTY       INTEGER         ,
        ORDER_PRICE     INTEGER         ,
        PRIMARY KEY (ORDER_NO, PROD_COD),
        FOREIGN KEY (ORDER_NO) REFERENCES ORDERS(ORDER_NO),
        FOREIGN KEY (PROD_COD) REFERENCES PRODUCTS(PROD_COD)
);

当我尝试向表中插入值时出现以下错误:

我无法解决,因为我似乎引用了正确的东西,但显然我不是。

是复合主键的原因吗?这似乎在示例中有效。

我正在使用 Oracle SQL Developer 4.

您似乎正在尝试为不存在的客户插入订单。 cust_no = 13144 的客户有一行吗?