表没有创建?语法问题?

时间:2015-11-27 22:19:15

标签: sql oracle

我目前正在为学校做一个实验室,并且不能为我的生活弄清楚为什么我会收到这些错误(特别是2)。抛出的第一个错误是在表“invoice”中,PRIMARY KEY约束要求第二个右括号。我收到的第二个错误是创建表“invprod”,它向我争辩说“invno”实际上并不存在。

我不知道这是我的语法或其他方面的错误,但非常感谢任何帮助。

CREATE TABLE invoice
(invno CHAR(5) NOT NULL
,invdate DATE
,orderno CHAR(5) NOT NULL
,CONSTRAINT invorder FOREIGN KEY (orderno)
          REFERENCES salesorder(orderno)
,CONSRAINT pkinvoice PRIMARY KEY (invno)
);

CREATE TABLE invprod
(invno CHAR(5) NOT NULL
,partno CHAR(4) NOT NULL
,shipqty INTEGER CHECK (shipqty>0)
,CONSTRAINT fk1invprod FOREIGN KEY(invno)
        REFERENCES invoice(invno)
,CONSTRAINT fk2invprod FOREIGN KEY(partno)
        REFERENCES part(partno)
);

1 个答案:

答案 0 :(得分:3)

您的拼写错误CONSRAINT应为CONSTRAINT

CREATE TABLE invoice
(
  invno CHAR(5) NOT NULL
,invdate DATE
,orderno CHAR(5) NOT NULL
,CONSTRAINT invorder FOREIGN KEY (orderno)
          REFERENCES salesorder(orderno)
,CONSTRAINT pkinvoice PRIMARY KEY (invno)
);

SqlFiddleDemo