违反了什么约束?

时间:2015-04-20 18:57:21

标签: sql oracle alter-table sqlfiddle

我正在尝试在Oracle中编写一个alter table语句,并使用SQLFiddle对其进行测试并得到一个非常模糊的错误,所以在这里寻求帮助。 SQLFiddle确实为我找到了另外两个错误,所以我假设我看到的错误是有效的。

这是表格:

CREATE TABLE Space (
  uri                  varchar(255) NOT NULL PRIMARY KEY,
  etag                 varchar(16) NOT NULL,
  title                VARCHAR2(255),
  description          VARCHAR2(4000),
  dependencyResource   varchar(255)
)

这是alter table语句:

ALTER TABLE Space
ADD detectConflict NUMBER(1, 0) DEFAULT 0 NOT NULL

以下是我看到的错误:

  

ORA-02091:事务回滚ORA-02290:检查约束   违反了(SYSTEM.DEFERRED_4_D0560_CK)

链接到SQLFiddle:http://sqlfiddle.com/#!4/d0560/2

1 个答案:

答案 0 :(得分:1)

在我理解SQLFiddle如何工作时看起来是错误的。 Mihai指出DDL声明需要全部在左侧。