oracle错误,此处不允许列

Dor*_*rka 15 oracle ora-00984

我有一段时间没用过Oracle,所以我有点生疏了.

这是我的表:

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

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

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

我正进入(状态:

ORA-00984: column not allowed here
Run Code Online (Sandbox Code Playgroud)

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

我做错了什么?

Ric*_*ard 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');
Run Code Online (Sandbox Code Playgroud)

  • 这是一个误导性的错误信息,是一种能够把我们全部抓住,生锈与否的东西. (3认同)
  • 请注意,您必须使用单引号 - 使用双引号会导致相同的错误。可能是因为双引号是为表名、列名等保留的,这解释了错误消息。 (2认同)