具有多个离线约束的ALTER TABLE的铁路图不正确?

Use*_*213 5 sql oracle alter-table

当前使用的是18c,但是这种明显的矛盾存在于早期版本中(肯定会回溯至11g)。

在这种情况下,我要向现有表添加多个离线约束。

可在此处找到所有铁路图:https : //docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/ALTER-TABLE.html

这是以下方面的铁路图ALTER TABLE

在此处输入图片说明

然后,这是用于的铁路图constraint_clauses

在此处输入图片说明

最后,这是以下内容的铁路图out_of_line_constraint

在此处输入图片说明

铁路图中没有()或一个,。但是SQL查询必须具有它们。

这是有效的代码:

Create table a ( x number );

Alter table a add (
  constraint x1 check ( x > 0 ),
  constraint x2 check ( x < 10)
);
Run Code Online (Sandbox Code Playgroud)

我在阅读和解释铁路图时的错误在哪里?还有其他我必须知道的吗?

Mat*_*eak 2

您不需要括号或逗号。这有效:

alter table a 
  add constraint x1 check (x > 0)
  add constraint x2 check (x < 10);
Run Code Online (Sandbox Code Playgroud)

但无论如何,这都是一个文档错误,因为铁路图并未表明“constraint_clauses”引用是可重复的。