Ошибка оракула, колонка не разрешена здесь
Я не использовал 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.
Я не удаляю этот ответ, потому что я считаю комментарий полезным.