首页 > 解决方案 > 获取“缺少右括号”错误 SQL--找不到问题

问题描述

我正在尝试在下面创建四个表。我的前两个表运行正常,但我的最后两个错误输出相同的错误消息:

ORA-00907:缺少右括号
ORA-06512:在“SYS.WWV_DBMS_SQL_APEX_200200”,第 626行 ORA-06512:在“SYS.DBMS_SYS_SQL”
,第 1658 行
ORA-06512:在“SYS.WWV_DBMS_SQL_APEX_200200”,第 612 行
ORA-06512:在“APEX_200200.WWV_FLOW_DYNAMIC_EXEC”,第 1749 行

我无法弄清楚这段代码有什么问题。我认识到这可能是某个地方的语法错误,但我找不到它。我应该怎么做才能修复这个错误?

create table item 
(
     itemID number(5) constraint CAMP_itemID_pk primary key, 
     itemDescription varchar2(100), 
     cleaned varchar2(1), 
     stock number(5)
);

create table people 
(
    peopleID number(10) constraint CAMP_peopleID_pk primary key, 
    firstName varchar2(20), 
    lastName varchar2(20), 
    phone number(10), 
    discount varchar2(20)
);

create table checkout 
(
    checkoutID constraint CAMP_checkoutID_pk primary key number(10), 
    peopleID number(10), 
    checkoutDate date(), 
    returnDate date(), 
    saleTotal number(10), 
    returned varchar(1), 
    constraint CAMP_peopleID_fk foreign key (peopleID) references people(peopleID)
);

create table checkoutDetail 
(
    orderDetailID constraint CAMP_orderDetailID_pk primary key number(10), 
    checkoutID number(10), 
    itemID,  
    quantity number(5), 
    constraint CAMP_checkoutID_fk foreign key (checkoutID) references checkout(checkoutID), 
    constraint CAMP_itemID_fk foreign key (itemID) references item(itemID)
);

标签: sqloracle-apex

解决方案


  1. 定义具有内联约束的列的语法是:

    COLUMN_NAME DATATYPE CONTRAINTS
    

    但是你有约束之后的数据类型。

  2. Date 没有精度(也不是函数),所以后面不应该有大括号。

  3. itemID需要数据类型。

像这样:

create table checkout (
  checkoutID   number(10) constraint CAMP_checkoutID_pk primary key,
  peopleID     number(10),
  checkoutDate date,
  returnDate   date,
  saleTotal    number(10),
  returned     varchar(1), 
  constraint CAMP_peopleID_fk foreign key (peopleID) references people(peopleID)
);

create table checkoutDetail (
  orderDetailID number(10) constraint CAMP_orderDetailID_pk primary key,
  checkoutID    number(10),
  itemID        number(5),
  quantity      number(5), 
  constraint CAMP_checkoutID_fk foreign key (checkoutID) references checkout(checkoutID),
  constraint CAMP_itemID_fk foreign key (itemID) references item(itemID)
);

db<>在这里摆弄


推荐阅读