1

次のようなテーブルを作成すると:

create table DBDI_HIREDETAIL(
HireID int not null,
EquipID int not null,
Quantity int,
TotalFee float,
Comment varchar(200)
);

エラーは次のように発生します。

コマンド ラインのエラー: "TotalFee float" エラー レポート: SQL エラー: ORA-00904: : 無効な識別子 00904. 00000 - "%s: 無効な識別子"

コードにエラーがある理由がわかりません。問題ないようです。

4

2 に答える 2

5

COMMENTは Oracle の予約語です。データ ディクショナリにコメントを追加するために使用されます。これを列名として使用することは避けてください。

SQL> create table a ( comment number );
create table a ( comment number )
                 *
ERROR at line 1:
ORA-00904: : invalid identifier

この列名を本当に使用したい場合は、引用符で囲む必要があります。つまり、次のようになります"COMMENT"

SQL> create table a ( "COMMENT" number );

Table created.

どこでも列を引用する必要があるため、これを行わないことをお勧めします。

于 2012-10-01T15:18:28.377 に答える
1

これは、COMMENT が SQL の予約語であるためです。代わりに別の列名 (HIREDETAIL_COMMENT など) を使用してください。

create table DBDI_HIREDETAIL(
  HireID int not null,
  EquipID int not null,
  Quantity int,
  TotalFee float,
  HireDetail_Comment varchar(200)
);
于 2012-10-01T15:18:47.400 に答える