oracle错误,此处不允许列

时间:2010-10-13 14:07:17

标签: oracle ora-00984

我暂时没有使用Oracle,所以我有点生气。

这是我的表:

create table calendar(
username VARCHAR2(12),
content VARCHAR2(100),
dateContent DATE,
type CHAR(3) CHECK (type IN ('PUB', 'PRV')));

但是当我尝试插入这样的值时:

insert into calendar
(username, content, dateContent, type) 
values
(chris, assignment due, to_date('01-OCT-2010 13:00','DD-MON-YYYY HH24:MI'), PUB)
/

我得到了:

ORA-00984: column not allowed here

指向末尾的类型列。我有一种感觉,我没有在DATE字段中得到正确的东西,因为我从未真正使用它。

我做错了什么?

2 个答案:

答案 0 :(得分:21)

您需要在varchar2值周围加上引号

这样的东西
insert into calendar(username, 
                     content, 
                     dateContent, 
                     type) 
  values('chris', 
         'assignment due', 
         to_date('01-OCT-2010 13:00','DD-MON-YYYY HH24:MI'), 
         'PUB');

答案 1 :(得分:3)

可能是因为typeOracle reserved word吗?

看起来这不是问题。阅读APC的评论。

我没有删除这个答案,因为我觉得这个评论很有用。