sql - 具有多个线外约束的 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
:
铁路图中没有(
和)
或a ,
。但是 SQL 查询必须有它们。
这是有效的代码:
Create table a ( x number );
Alter table a add (
constraint x1 check ( x > 0 ),
constraint x2 check ( x < 10)
);
我在阅读和解释铁路图时的错误在哪里?还有什么我必须知道的吗?
解决方案
您不需要括号或逗号。这有效:
alter table a
add constraint x1 check (x > 0)
add constraint x2 check (x < 10);
但无论哪种方式,这都是一个文档错误,因为铁路图并未表明“constraint_clauses”引用是可重复的。
推荐阅读
- python - Python:跳过所有没有字母/数字的行
- android - 已经存在:com.google.android.material.internal.package-info
- typescript - Chrome 开发工具 - 使用 TypeScript 时变量悬停不符合预期
- microsoft-teams - 如何在连接器设置中集成外部帐户
- elasticsearch - 如何在elasticsearch中找到分析字段中的重复词
- reactjs - 从 formik 向状态传递值
- mysql - Mysql选择总和等于的行
- html - Swift Regex 从页面 html 中检索令牌
- python - 获取变量 x 不是列表索引,而是列表中的实际值
- java - Java中的这个乘法有什么问题:27984 * 619246?