1

我试过搜索这个主题,我的搜索导致我找到这种格式,但仍然抛出错误。当我执行我的脚本时,我基本上会为我以后的所有语句收到大量 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)
)
/
4

3 回答 3

3

ADD应该围绕每个列定义。您不会ADD围绕 3 个新列进行包装。

请参阅: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)
    )

这是小提琴:http ://sqlfiddle.com/#!4/9d2a3

于 2013-08-06T17:42:51.437 回答
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

于 2013-08-06T17:51:31.140 回答
-1

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

它对我有用。谢谢

于 2015-04-29T06:49:06.710 回答