首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有多个线外约束的ALTER的不正确的铁路图?

有多个线外约束的ALTER的不正确的铁路图?
EN

Stack Overflow用户
提问于 2019-10-08 10:08:25
回答 2查看 352关注 0票数 5

目前使用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查询必须有它们。

下面是工作的代码:

代码语言:javascript
复制
Create table a ( x number );

Alter table a add (
  constraint x1 check ( x > 0 ),
  constraint x2 check ( x < 10)
);

在阅读和解释铁道图时,我的错误在哪里?还有什么我必须知道的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-11 20:28:01

你不需要括号或逗号。这样做是可行的:

代码语言:javascript
复制
alter table a 
  add constraint x1 check (x > 0)
  add constraint x2 check (x < 10);

但无论哪种方式,它都是文档错误,因为铁路图并不表示"constraint_clauses“引用是可重复的。

票数 2
EN

Stack Overflow用户

发布于 2019-10-10 18:21:54

创建表文档包括括号:

对于一个约束语句,括号是可选的,例如:

代码语言:javascript
复制
Alter table a add constraint x1 check ( x > 0 )

在doc中,我没有看到用于约束的括号,正如您发现的那样,这似乎是缺失的。

这是完全甲骨文语法文档

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58284256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档