我试过搜索这个主题,我的搜索引导我使用这种格式,这仍然是一个错误。当我执行我的脚本时,我的所有后续语句基本上都会出现ORA-01735错误。我完成了不同的工作,但谷歌搜索引导我这种格式,但仍然无效。有什么提示吗?
CREATE TABLE table7
(
column1 int NOT NULL,
column2 int NOT NULL,
column3 int NOT NULL
)
/
ALTER TABLE table7
ADD( pk1 PRIMARY KEY(column1),
fk1 FOREIGN KEY(column2) REFERENCES Table1(column2),
fk2 FOREIGN KEY(column3) REFERENCES Service(column3)
)
/
答案 0 :(得分:3)
ADD
应围绕每个列定义。您不会围绕3个新列包装单个ADD
。
请参阅:http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3001.htm#i2183462
对于主键和外键约束,您需要CONSTRAINT
关键字。请参阅:http://docs.oracle.com/javadb/10.3.3.0/ref/rrefsqlj81859.html关于“添加约束”的部分。
编辑:这是我尝试过的小提琴上唯一有用的东西:
ALTER TABLE table7
ADD (
CONSTRAINT pk1 PRIMARY KEY (column1),
CONSTRAINT fk1 Foreign Key (column2) REFERENCES Table1 (column2),
CONSTRAINT fk2 Foreign Key (column3) REFERENCES Service (column3)
)
答案 1 :(得分:1)
检查出来:
ALTER TABLE table7
ADD pk1 PRIMARY KEY(column1),
ADD fk1 FOREIGN KEY(column2) REFERENCES Table1(column2),
ADD fk2 FOREIGN KEY(column3) REFERENCES Service(column3)
请参阅语法和示例:
http://docs.oracle.com/cd/E17952_01/refman-5.1-en/alter-table.html
http://docs.oracle.com/cd/E17952_01/refman-5.1-en/alter-table-examples.html
答案 2 :(得分:-1)
ALTER TABLE table7 ADD( CONSTRAINT pk1 PRIMARY KEY(第1栏), CONSTRAINT fk1外键(column2)REFERENCES Table1(column2), CONSTRAINT fk2外键(column3)REFERENCES服务(第3列) )
它对我有用。谢谢