oracle error, column not allowed here

2019-04-04 01:22发布

I haven't used Oracle for a while so I'm a bit rusty.

This is my table:

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

But when I try to insert a value like this:

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

I am getting:

ORA-00984: column not allowed here

pointing to the type column at the end. I have a feeling I'm not getting something right with the DATE field as I've never really used it.

What have I done wrong?

2条回答
爷的心禁止访问
2楼-- · 2019-04-04 01:47

Could it be because type is a Oracle reserved word ?

Looks like this is not an issue. Read the comment by APC.

I'm not deleting this answer because I find the comment useful.

查看更多
▲ chillily
3楼-- · 2019-04-04 01:48

You need to put quotes round the varchar2 values

Something like

insert into calendar(username, 
                     content, 
                     dateContent, 
                     type) 
  values('chris', 
         'assignment due', 
         to_date('01-OCT-2010 13:00','DD-MON-YYYY HH24:MI'), 
         'PUB');
查看更多
登录 后发表回答