oracle错误,此处不允许列
我已经有一段时间没有使用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
指向末尾的类型列。我有一种感觉,我对日期字段的处理不太好,因为我从未真正使用过它。
我做错了什么?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要在 varchar2 值周围加上
引号
You need to put quotes round the varchar2 values
Something like
是否是因为type
是 Oracle 保留字 ?看起来这不是问题。阅读 APC 的评论。
我不会删除这个答案,因为我发现该评论很有用。
Could it be becausetype
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.