在SQL中更改脚本 - ORA 01735

时间:2013-08-06 17:31:35

标签: sql oracle alter

我试过搜索这个主题,我的搜索引导我使用这种格式,这仍然是一个错误。当我执行我的脚本时,我的所有后续语句基本上都会出现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)
)
/

3 个答案:

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

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

答案 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列)     )

它对我有用。谢谢