Ошибка оракула, колонка не разрешена здесь

Я не использовал 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, поскольку я никогда не использовал его.

Что я сделал неправильно?

Ответы

Ответ 1

Вам нужно поставить кавычки вокруг значений 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');

Ответ 2

Может быть, потому что type является зарезервированным словом Oracle?

Похоже, это не проблема. Прочитайте комментарий APC.

Я не удаляю этот ответ, потому что я считаю комментарий полезным.