尝试创建 CHECK 约束时出现 ORA-00907
Posted
技术标签:
【中文标题】尝试创建 CHECK 约束时出现 ORA-00907【英文标题】:ORA-00907 when trying to create a CHECK constraint 【发布时间】:2011-02-08 09:37:41 【问题描述】:我正在尝试通过执行以下 SQL 语句在表上创建检查约束:
alter table "ApplicationConfiguration" add
constraint APPLICATIONCONFIGURATION_CK1
CHECK (ValueType IN ('string', 'int', 'decimal, 'date', 'time', 'datetime', 'binary'))
但我收到以下错误:
ORA-00907: Missing right parenthesis
我完全迷路了。我做错了什么?
附加信息:
ApplicationConfiguration
表
存在并且有一列类型
nvarchar(32) not null
命名为 ValueType
数据库是 Oracle 10g Express
发布 10.2.0.1.0
我正在执行
使用 Web 客户端声明
(Application Express 2.1.0.00.39)
数据库用户拥有 DBA 权限
谢谢!
【问题讨论】:
【参考方案1】:错误消息没有帮助,但您确实有语法错误 - 此处缺少单引号:
'decimal,
【讨论】:
【参考方案2】:错误信息是正确的!
十进制在末尾缺少一个'>
CHECK (ValueType IN ('string', 'int', 'decimal, ...
【讨论】:
呃……我一定要休息一下。 :-(以上是关于尝试创建 CHECK 约束时出现 ORA-00907的主要内容,如果未能解决你的问题,请参考以下文章