I keep getting an ORA-00907 error for missing right parenthesis in the following
ID: 3768578 • Letter: I
Question
I keep getting an ORA-00907 error for missing right parenthesis in the following code in sqlplus. What is the error(s)?
CREATE TABLE Movie
( MovieID varchar(255) NOT NULL PRIMARY KEY,
MovieTypeID varchar(255) FOREIGN KEY REFERENCES MovieType(MovieTypeID) ,
Title varchar(255),
CatalogMovieID varchar(255),
Actor varchar(255),
RunningLength number(4,2),
Rating varchar(5),
YearReleased number(4),
Director varchar(255),
AcademyAwardID varchar(255) )
CREATE TABLE MovieType
( MovieTypeID varchar(255) NOT NULL PRIMARY KEY,
MovieType varchar(255) )
CREATE TABLE MovieCatalog
( CatalogMovieID varchar(255) NOT NULL PRIMARY KEY,
MovieTitle varchar(255) )
CREATE TABLE MovieAcademyAwards
( AcademyAwardID varchar(255) PRIMARY KEY,
MovieAward varchar(255),
ActorAward varchar(255),
ActressAward varchar(255),
DirectorAward varchar(255) )
CREATE TABLE VideoDVD
( VIDEODVDID varchar(255) NOT NULL PRIMARY KEY,
CaseTypeID varchar(255) FOREIGN KEY REFERENCES CaseType(CaseTypeID),
MovieID varchar(255) FOREIGN KEY REFERENCES Movie(MovieID),
Copies integer,
DistributorID varchar(255) FOREIGN KEY REFERENCES Distributor(DistributorID),
WholesalePrice number(5,2),
DistributorVideoID varchar(255) FOREIGN KEY REFERENCES DistributorVideoDVD(DistributorVideoID),
CREATE TABLE CaseType
( CaseTypeID varchar(255) PRIMARY KEY,
CaseType varchar(255) )
CREATE TABLE Distributor
( DistributorID varchar(255) PRIMARY KEY,
Name varchar(255),
Address varchar(255) )
CREATE TABLE Rental
( VideoDVDID varchar(255) PRIMARY KEY FOREIGN KEY REFERENCES VideoDVD(VideoDVDID),
CustomerID varchar(255) FOREIGN KEY REFERENCES Customer (CustomerID),
RentalDate date,
ReturnDate date,
Price number(5,2),
CustomerChargeID varchar(255) FOREIGN KEY REFERENCES CustomerCharges(CustomerChargeID),
Discount number(5,2) )
CREATE TABLE DistributorVideoDVD
( DistributorVideoID varchar(255) PRIMARY KEY,
VideoDVDTitle varchar(255) )
CREATE TABLE Customer
CustomerID varchar(255) NOT NULL PRIMARY KEY,
Name varchar(255),
Address varchar(255),
Phone varchar(20) )
CREATE TABLE CustomerCharges
CustomerChargeID varchar(255) PRIMARY KEY,
ChargeType varchar(255),
Price number(5,2) )
Explanation / Answer
You missed one left paranthesis at customer table.
Also I have modified your code to create tables as necessary. You have to create the tables first with primary keys and later on you can create tables with foreign keys and also you name the foreign key I did for you.
CREATE TABLE Movie
( MovieID varchar(255) PRIMARY KEY,
MovieTypeID varchar(255) FOREIGN KEY Movt REFERENCES MovieType(MovieTypeID) ,
Title varchar(255),
CatalogMovieID varchar(255),
Actor varchar(255),
RunningLength number(4,2),
Rating varchar(5),
YearReleased number(4),
Director varchar(255),
AcademyAwardID varchar(255) );
CREATE TABLE MovieType
( MovieTypeID varchar(255) PRIMARY KEY,
MovieType varchar(255) );
CREATE TABLE MovieCatalog
( CatalogMovieID varchar(255) PRIMARY KEY,
MovieTitle varchar(255) );
CREATE TABLE MovieAcademyAwards
( AcademyAwardID varchar(255) PRIMARY KEY,
MovieAward varchar(255),
ActorAward varchar(255),
ActressAward varchar(255),
DirectorAward varchar(255) );
CREATE TABLE VideoDVD
( VIDEODVDID varchar(255) PRIMARY KEY,
CaseTypeID varchar(255) FOREIGN KEY caset REFERENCES CaseType(CaseTypeID),
MovieID varchar(255) FOREIGN KEY MovId REFERENCES Movie(MovieID),
Copies integer,
DistributorID varchar(255) FOREIGN KEY Dis REFERENCES Distributor(DistributorID),
WholesalePrice number(5,2),
DistributorVideoID varchar(255) FOREIGN KEY DisVid REFERENCES DistributorVideoDVD(DistributorVideoID));
CREATE TABLE CaseType
( CaseTypeID varchar(255) PRIMARY KEY,
CaseType varchar(255) );
CREATE TABLE Distributor
( DistributorID varchar(255) PRIMARY KEY,
Name varchar(255),
Address varchar(255) );
CREATE TABLE Rental
( VideoDVDID varchar(255) FOREIGN KEY Vdvd REFERENCES VideoDVD(VideoDVDID),
CustomerID varchar(255) FOREIGN KEY Cid REFERENCES Customer (CustomerID),
RentalDate date,
ReturnDate date,
Price number(5,2),
CustomerChargeID varchar(255) FOREIGN KEY CCh REFERENCES CustomerCharges(CustomerChargeID),
Discount number(5,2) );
CREATE TABLE DistributorVideoDVD
( DistributorVideoID varchar(255) PRIMARY KEY,
VideoDVDTitle varchar(255) );
CREATE TABLE Customer
( CustomerID varchar(255) PRIMARY KEY,
Name varchar(255),
Address varchar(255),
Phone varchar(20) );
CREATE TABLE CustomerCharges
( CustomerChargeID varchar(255) PRIMARY KEY,
ChargeType varchar(255),
Price number(5,2) );