15

私はしばらく 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フィールドで何かがうまくいかない気がします。

私は何を間違えましたか?

4

2 に答える 2

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');
于 2010-10-13T14:12:35.053 に答える
3

Oracleの予約語typeだからでしょうか?

これは問題ではないようです。APC のコメントを読んでください。

コメントが役立つと思うので、この回答を削除しません。

于 2010-10-13T14:10:09.207 に答える