【发布时间】:2020-04-29 14:06:55
【问题描述】:
我正在尝试为电话号码创建一个字段,该字段不需要更多,不少于 10 个号码。我试过了 电话号码(10) CHECK (Telephone=10) 但它不起作用,也不能将其作为约束添加到属性之后。
【问题讨论】:
-
CHECK (LENGTH(Telephone) = 10) -
它说 LEN 是一个无效的标识符
-
对不起
LENGTH甲骨文。 -
它给了我这个:SQL 错误:ORA-02438:列检查约束不能引用其他列 02438。00000 -“列检查约束不能引用其他列” *原因:试图定义列检查约束引用另一列。 *Action:将其定义为表检查常量。
-
如果电话号码可以有前导零,则不应将其存储在 NUMBER 列中,而应存储在 VARCHAR2 或 CHAR 列中。我建议查看 Oracle 的正则表达式支持。您可以在列约束中使用正则表达式。
标签: sql oracle ddl check-constraints