ORACLE機能 エラー

[ORAエラー] ORA-00904: 無効な識別子です

投稿日:2017年4月29日 更新日:

以下のように表示されます。

(日本語)
ORA-00904: XXX: 無効な識別子です
(英語)
ORA-00904: XXX: invalid identifier

XXXの箇所には、エラー対象箇所が表示されます。

発生パターン

このエラーは以下のような場合に発生します。

  • SELECT文などで、存在しない列名を指定した
  • UPDATE文に指定した値を「'」ではなく、「"」で囲んでいる
  • WHERE句に指定した文字列を「'」ではなく、「"」で囲んでいる
    (「"」は列タイトルを表す時に使用する記号です。)
エラー例1
SQL> select * from m_test where code = "01"; select * from m_test where code = "01"; * 行1でエラーが発生しました。: ORA-00904: "01": 無効な識別子です。

"01" を '01' にすればOKです。

エラー例2
SQL> update m_test set col2 = "hoge" where col1 = 'foo'; update m_test set col2 = "hoge" where col1 = 'foo'; * 行1でエラーが発生しました。: ORA-00904: "hoge": 無効な識別子です。

"hoge" を 'hoge' にすればOKです。

対処法

  • 正しい列名を指定する
  • 文字列リテラルは「"」(ダブルクォーテーション)ではなく、「'」(シングルクォーテーション)で囲う

スポンサーリンク

スポンサーリンク

-ORACLE機能, エラー

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

ORACLE

[集計関数] 合計値を求める(SUM)

検索結果を集計して合計値を求めるには、SUMを使用します。 サンプル 以下のテーブルを例にします。 【M_SCORE】 ...
ORACLE

[ORACLE関数] グループ単位で順位を飛ばして順位を付ける(RANK~PARTITION BY)

検索結果をグループ単位で順位を飛ばして順位を付けるには、RANK~PARTITION BY句を使用します。 順位を飛ばし ...
ORACLE

[ORAエラー] ORA-01779: キー保存されていない表にマップする列は変更できません

以下のように表示されます。 (日本語) ORA-01779: キー保存されていない表にマップする列は変更できません (英 ...
ORACLE

[SQL*Plus] SGAの情報を表示する(show sga)

SQL*PlusでSGAの情報を表示するには、show sgaコマンドを使います。 サンプル 例)SGAの情報を表示する ...
ORACLE

[ORACLE] オラクルクライアントがインストールされている場所を探す

オラクルクライアントがインストールされている場所を探す方法です。 手順 オラクルクライアントがインストールされると、環境 ...

スポンサーリンク