Sql &引用;未知命令“;创建外键约束时显示

Sql &引用;未知命令“;创建外键约束时显示,sql,oracle,oracle-sqldeveloper,Sql,Oracle,Oracle Sqldeveloper,以下脚本生成错误: CREATE TABLE BOTTLE ( Bottle_ID VARCHAR(30) NOT NULL, BottleSize NUMBER(10,0) , Shape VARCHAR(30) , GlassColor VARCHAR(30) , BottleInventory NUMBER(10,0) , CostPerBottle NUMBER(5,2) , constraint BOTTLE_PK PRIMAR

以下脚本生成错误:

CREATE TABLE BOTTLE
(
    Bottle_ID VARCHAR(30) NOT NULL,
    BottleSize NUMBER(10,0) ,
    Shape VARCHAR(30) ,
    GlassColor VARCHAR(30) ,
    BottleInventory NUMBER(10,0) ,
    CostPerBottle NUMBER(5,2) ,

    constraint BOTTLE_PK PRIMARY KEY (Bottle_ID)
);

create table BOTTLE_VENDOR
(
    Vendor_ID VARCHAR(30) not null,
    VendorName VARCHAR(20),
    Vendor_Straddr1 VARCHAR(100),
    Vendor_Straddr2 VARCHAR(100),
    Vendor_City VARCHAR(20),
    Vendor_State VARCHAR(20),
    Vendor_Zip CHAR(5),
    Vendor_Phone VARCHAR(20),
    PrincipalContact VARCHAR(30),       

    constraint pk_BOTTLE_VENDOR primary key (Vendor_ID)
);

create table BOTTLE_ORDER
(
    Bottle_Order_ID VARCHAR(30) not null,
    BottleOrderDate DATE,
    Vendor_ID VARCHAR(30),

    constraint pk_BOTTLE_ORDER primary key (Bottle_Order_ID),
    constraint fk_BOTTLE_ORDER foreign key (Vendor_ID) references BOTTLE_VENDOR(Vendor_ID)
);

create table SHIPMENT
(
    Shipment_ID VARCHAR(30) not null,
    ShipmentDate DATE,
    ReceivedQuantity INTEGER,
    ReceivedDate DATE,
    Bottle_Order_ID VARCHAR(30),

    constraint pk_SHIPMENT primary key (Shipment_ID),
    constraint fk_SHIPMENT foreign key (Bottle_Order_ID) references BOTTLE_ORDER(Bottle_Order_ID)
);

create table BOTTLE_ORDER_LINE
(
    Bottle_Order_ID VARCHAR(30) not null,
    Bottle_ID VARCHAR(30) not null,
    BottleOrderQuantity INTEGER,
    ActualPricePerBottle NUMBER(5,2),

    constraint pk_BOTTLE_ORDER_LINE primary key (Bottle_Order_ID,Bottle_ID),
    constraint fk_BOTTLE_ORDER_LINE foreign key (Bottle_Order_ID) references BOTTLE_ORDER(Bottle_Order_ID),
    constraint fk_BOTTLE_ORDER_LINE2 foreign key (Bottle_Order_ID) references BOTTLE(Bottle_ID)
);
下面是确切显示的内容:

从命令中的第37行开始出错-约束fk_装运外键(瓶子订单ID)引用瓶子订单(瓶子订单ID)
错误报告-
未知命令

这个错误让我抓狂,不知道如何处理。

以下行(您发布的最后一行)与您的表定义不匹配:

constraint fk_BOTTLE_ORDER_LINE2 foreign key (Bottle_Order_ID) references BOTTLE(Bottle_ID)
应改为:

constraint fk_BOTTLE_ORDER_LINE2 foreign key (Bottle_ID) references BOTTLE(Bottle_ID)

请显示完整的脚本您是否尝试再次运行此脚本?我假设您仅在按F5之前高亮显示了第37行。在高亮显示部分脚本,然后运行脚本或在开发人员中按F5或等效键时,这是一个常见错误。