尝试执行下面显示的脚本时会弹出此错误:
CREATE TABLE "ATTRACTION_MH"(
"AttractionNo" NUMBER(11) NOT NULL ENABLE,
"CityName" VARCHAR2(25) NOT NULL PRIMARY KEY ENABLE,
"AttractionName" VARCHAR2(25) NOT NULL ENABLE,
"Category" VARCHAR(15) NOT NULL ENABLE,
"AllocatedTime" NUMBER(3) NOTNULL ENABLE
仅创建如下所示的表格:
CREATE TABLE "CITY_MH"(
"CityName" VARCHAR2(25) NOT NULL PRIMARY KEY ENABLE,
"TourID" NUMBER(11,0) NOT NULL ENABLE,
"HotelName" VARCHAR2(15) NOT NULL ENABLE,
"NumberOfNights" NUMBER(11,0) NOT NULL ENABLE)
对于此表,会弹出同样的错误:
CREATE TABLE "TOUR_MH" (
"TourID" NUMBER(11,0) NOT NULL PRIMARY KEY ENABLE,
"TourTitle" VARCHAR2(15) NOT NULL ENABLE,
"Cost" NUMBER(10,0) NOT NULL DEFAULT 2000 ENABLE)
ALTER TABLE "CITY_MH"
FOREIGN KEY ("TourID") REFERENCES "Tour_MH" ("TourID") ENABLE;
ALTER TABLE "ATTRACTION_MH"
ADD UNIQUE ("AttractionName") ENABLE;
答案 0 :(得分:1)
你真的错过了a)
CREATE TABLE ATTRACTION_MH(
AttractionNo NUMBER(11) NOT NULL ENABLE,
CityName VARCHAR2(25) NOT NULL PRIMARY KEY ENABLE,
AttractionName VARCHAR2(25) NOT NULL ENABLE,
Category VARCHAR(15) NOT NULL ENABLE,
AllocatedTime NUMBER(3) NOT NULL ENABLE);
另外,不要引用对象名称,oracle中的混合/区分大小写的对象名称对所有参与者来说都是一种痛苦,而且你将不得不忍受......永远。
对于第二个表,DEFAULT值位于内联NOT NULL约束之前。
CREATE TABLE TOUR_MH (
TourID NUMBER(11,0) NOT NULL PRIMARY KEY ENABLE,
TourTitle VARCHAR2(15) NOT NULL ENABLE,
Cost NUMBER(10,0) DEFAULT 2000 NOT NULL ENABLE);
您的ALTER TABLE错误。添加外键约束
ALTER TABLE table_name
ADD CONSTRAINT constraint_name FOREIGN KEY ( local_col)
REFERENCES other_table( other_table_col )
NOT DEFERRABLE;
你的第二个也是错的。
alter table table_name add constraint constraint_name unique(column_name);
随意使用我们的免费设计和数据库GUI工具Oracle SQL Developer。它们可以帮助您绘制/设计/构建对象......并学习语法!