创建表错误 - Oracle SQL

时间:2017-10-20 20:48:06

标签: sql oracle

我需要帮助,它在Oracle SQL Developer中不断给出相同的错误。

  

从命令行中的第15行开始出错 -

CREATE TABLE B_BOOKING (
    booking_number int NOT NULL PRIMARY KEY,
    date_booked date,
    performance_order int,
    base_pay int,
    band_number int,
    concert_number int, FOREIGN KEY REFERENCES B_CONCERT(concert_number)
)
  

命令行错误:21列:34错误报告 - SQL错误:   ORA-00906:缺少左括号   00906. 00000 - "缺少左括号"   *原因:
  *操作:

1 个答案:

答案 0 :(得分:2)

您似乎试图内联声明外键并且语法不正确,您想要:

CREATE TABLE B_BOOKING (
    booking_number int PRIMARY KEY,
    date_booked date,
    performance_order int,
    base_pay int,
    band_number int,
    concert_number int REFERENCES B_CONCERT(concert_number)
)

此外,NOT NULL列不需要PRIMARY KEY约束。

或者,您可以将约束声明为:

CREATE TABLE B_BOOKING (
    booking_number int PRIMARY KEY,
    date_booked date,
    performance_order int,
    base_pay int,
    band_number int,
    concert_number int,
    CONSTRAINT constraint_name FOREIGN KEY ( concert_number )
                               REFERENCES B_CONCERT(concert_number)
)