尝试创建CHECK约束时ORA-00907

时间:2011-02-08 09:37:41

标签: oracle oracle-xe ora-00907

我试图通过执行以下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权限

谢谢!

2 个答案:

答案 0 :(得分:4)

错误消息无效,但您确实遇到语法错误 - 此处缺少单引号:

'decimal,

答案 1 :(得分:3)

错误消息是对的!

十进制错过了< '>

中的结尾
CHECK (ValueType IN ('string', 'int', 'decimal, ...