2017-10-20 50 views
0

J'ai besoin d'aide pour cela, il continue à donner la même erreur dans Oracle SQL Developer.Créer une erreur de table - Oracle SQL

Error starting at line : 15 in command -

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) 
) 

Error at Command Line : 21 Column : 34 Error report - SQL Error: ORA-00906: missing left parenthesis 00906. 00000 - "missing left parenthesis" *Cause:
*Action:

Répondre

2

Vous semblez essayer de déclarer en ligne et ont clé étrangère la syntaxe incorrecte, vous voulez:

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) 
) 

En outre, vous n'avez pas besoin d'une contrainte NOT NULL sur une colonne PRIMARY KEY.

Sinon, vous pouvez déclarer la contrainte comme:

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) 
)