SQL错误:ORA-00907:缺少右括号-找不到错误
我一遍又一遍地从相同的语句开始,仍然找不到缺少的右括号。当运行这两个语句时,就会出现这种情况,为了运行其余的表,我需要能够找到右括号 我选择了语句中使用的括号,所有括号似乎都与正确的括号相匹配。有人能提出什么建议吗SQL错误:ORA-00907:缺少右括号-找不到错误,sql,oracle,Sql,Oracle,我一遍又一遍地从相同的语句开始,仍然找不到缺少的右括号。当运行这两个语句时,就会出现这种情况,为了运行其余的表,我需要能够找到右括号 我选择了语句中使用的括号,所有括号似乎都与正确的括号相匹配。有人能提出什么建议吗 CREATE TABLE booking ( bookingNo NUMBER(8) PRIMARY KEY, customerNo NUMBER(8) NOT NULL REFERENCES customer(customerNo), regi
CREATE TABLE booking (
bookingNo NUMBER(8) PRIMARY KEY,
customerNo NUMBER(8) NOT NULL
REFERENCES customer(customerNo),
registrationNo VARCHAR2(10) NOT NULL
REFERENCES vehicle(registrationNo),
dateOfBooking DATE NOT NULL
DEFAULT SYSDATE,
pickupStreetAddressLine VARCHAR2(30) NOT NULL,
pickupTown VARCHAR2(30) NOT NULL,
pickupPostcode VARCHAR2(10) NOT NULL,
startTime NUMBER(4,2) NOT NULL,
startDate DATE NOT NULL
DEFAULT SYSDATE,
endTime NUMBER(4,2) NOT NULL,
endDate DATE NOT NULL
DEFAULTSYSDATE,
noOfPassengers NUMBER(3) NOT NULL
CONSTRAINT CHECK(noOfPassengers > 0 AND noOfPassengers <= 73)
price NUMBER(8,2) NOT NULL
);
CREATE TABLE employees (
nationalInsuranceNo VARCHAR2(10) PRIMARY KEY,
fullName VARCHAR2(50) NOT NULL,
streetAddress VARCHAR2(30) NOT NULL,
town VARCHAR2(30),
postcode VARCHAR2(10) NOT NULL,
homeNo NUMBER(11)
dateOfBirth DATE NOT NULL,
gender VARCHAR2(8) NOT NULL
CONSTRAINT CHECK(gender="Male" OR gender="Female"),
jobDescription VARCHAR2(30) NOT NULL,
currentSalary NUMBER(6) NOT NULL
CONSTRAINT CHECK(currentSalary>0)
);
创建表格预订(
bookingNo NUMBER(8)主键,
客户编号(8)不为空
参考客户(客户编号),
注册号VARCHAR2(10)不为空
参考车辆(注册号),
预订日期的日期不为空
默认系统日期,
pickupStreetAddressLine VARCHAR2(30)不为空,
pickupTown VARCHAR2(30)不为空,
pickupPostcode VARCHAR2(10)不为空,
起始时间编号(4,2)不为空,
起始日期不为空
默认系统日期,
结束时间编号(4,2)不为空,
endDate日期不为空
DEFAULTSYSDATE,
NoofPassenger编号(3)不为空
约束检查(NoopPassenger>0和NoopPassenger 0)
);
我没有安装Oracle进行测试,但是上面的NoofPassenger列是否缺少逗号?更一般地说,它可能不是缺少正确的参数,而是由于另一个语法错误而不合适的参数。希望有帮助。将第17行的DEFAULTSYSDATE
更改为DEFAULTSYSDATE
另外,在每个检查
之前和约束
单词之后添加列名。并在第一个约束
语句后添加逗号
希望有帮助:)尝试使用标准缩进方案来直观地验证格式 在这里,我将每个重要的paren移到一个新行,并分别缩进每个片段 我在几个似乎错误的项目旁添加了评论:
CREATE TABLE
booking
(
bookingNo NUMBER(8) PRIMARY KEY,
customerNo NUMBER(8) NOT NULL
REFERENCES customer(customerNo),
registrationNo VARCHAR2(10) NOT NULL
REFERENCES vehicle(registrationNo),
dateOfBooking DATE NOT NULL
DEFAULT SYSDATE,
pickupStreetAddressLine VARCHAR2(30) NOT NULL,
pickupTown VARCHAR2(30) NOT NULL,
pickupPostcode VARCHAR2(10) NOT NULL,
startTime NUMBER(4,2) NOT NULL,
startDate DATE NOT NULL
DEFAULT SYSDATE,
endTime NUMBER(4,2) NOT NULL,
endDate DATE NOT NULL
DEFAULT SYSDATE, -- THERE WAS A MISSING SPACE HERE *********************
noOfPassengers NUMBER(3) NOT NULL, -- MISSING COMMA ********
CONSTRAINT Check_noOfPassengers CHECK -- ADD A CONSTRAINT NAME *********
(
noOfPassengers > 0
AND noOfPassengers <= 73
), -- THERE WAS A MISSING COMMA HERE *******************
price NUMBER(8,2) NOT NULL
);
CREATE TABLE
employees
(
nationalInsuranceNo VARCHAR2(10) PRIMARY KEY,
fullName VARCHAR2(50) NOT NULL,
streetAddress VARCHAR2(30) NOT NULL,
town VARCHAR2(30),
postcode VARCHAR2(10) NOT NULL,
homeNo NUMBER(11), -- THERE WAS A MISSING COMMA HERE ***************
dateOfBirth DATE NOT NULL,
gender VARCHAR2(8) NOT NULL, -- MISSING COMMA *****
CONSTRAINT Check_gender CHECK -- ADD A CONSTRAINT NAME *********
(
gender="Male"
OR gender="Female"
),
jobDescription VARCHAR2(30) NOT NULL,
currentSalary NUMBER(6) NOT NULL, -- MISSING COMMA
CONSTRAINT Check_currentSalary CHECK -- ADD A CONSTRAINT NAME *********
(
currentSalary>0
)
);
创建表
预订
(
bookingNo NUMBER(8)主键,
客户编号(8)不为空
参考客户(客户编号),
注册号VARCHAR2(10)不为空
参考车辆(注册号),
预订日期的日期不为空
默认系统日期,
pickupStreetAddressLine VARCHAR2(30)不为空,
pickupTown VARCHAR2(30)不为空,
pickupPostcode VARCHAR2(10)不为空,
起始时间编号(4,2)不为空,
起始日期不为空
默认系统日期,
结束时间编号(4,2)不为空,
endDate日期不为空
默认SYSDATE,--此处缺少空格*********************
NoofPassenger编号(3)不为空,--缺少逗号********
约束检查\u noofPassenger检查--添加约束名称*********
(
无乘客>0
无乘客0
)
);