Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

oracle error, column not allowed here

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?

like image 506
Dorka Avatar asked Oct 13 '10 14:10

Dorka


2 Answers

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');
like image 147
Richard Avatar answered Oct 24 '22 05:10

Richard


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.

like image 22
2 revs Avatar answered Oct 24 '22 04:10

2 revs