为什么我的桌子上出现错误ORA-00907缺少右括号?

时间:2016-08-03 17:58:06

标签: sql oracle ddl

我有三张桌子:假期,学校,付费。学校表的主键由假日和付费的主键组成,因为它是一个链接表。为什么我的桌子上会出现错误?

2 个答案:

答案 0 :(得分:1)

日期的数据类型是日期,而不是日期()。删除() - 你有两个地方。这将清除您的第一个错误。

您(将)可能获取更多错误消息 - 如果您需要更多帮助,请回写。

(编辑:我意识到我的系统上的下一个错误是关于不存在的表 - 显然因为我没有OP的引用表)

答案 1 :(得分:0)

date类型不接受任何参数。你应该删除它后面的空括号:

CREATE TABLE Subscription
( 
    Club_ID varchar(10), 
    Member_ID varchar(10),
    Current_or_Old_Subscription varchar(50) CONSTRAIN Current_or_Old_Subscription_nn NOT NULL,
    Subscription_StartDate date, -- here!
    Subscription_EndDate date, -- and here!
    subscription_Cost number(6) CONSTRAINT Subscription_Cost_Check 
        CHECK (Subscription_Cost > 0),
    CONSTRAINT Subscription_pk PRIMARY KEY (Club_ID, Member_ID),
    CONSTRAINT club_fk FOREIGN KEY (Club_ID) REFERENCES Club(Club_ID) 
        ON DELETE CASCADE,
    CONSTRAINT Member_fk FOREIGN KEY (Member_ID) REFERENCES Member(Member_ID)
        ON DELETE CASCADE
);