【Oracle】ORA-00904:列名が無効です。 無効な識別子です。

「ORA-00904:列名が無効です。 無効な識別子です。」というエラーは

かなり良く出る気がします。w

 

 

慣れてくると普通に分かりますが、

初めの内は、結構大変だったりします。

備忘録 兼 そういう方のために残しておきます。

 
実際によくあるのが、文字のタイプミスです。

大体がこれなので、まずはよく見直してみてください。

 
他のケースとしては、SQL文が折り返されてしまい、

文の途中で途切れてしまうケースがあります。

例えばこんな感じです。

 

Select T.cont_no ,T.co_no ,T.co_name ,T.co_
tel ,T.co_address From T_coop T

 

この場合は以下のように、適切な改行を入れておいた方が確実です。

 

Select T.cont_no
, T.co_no
, T.co_name
, T.co_tel
, T.co_address
From T_coop T

 

「ORA-00904:列名が無効です。 無効な識別子です。」の発生原因例

 

★存在しない列名を書いている(スペルミスなど)

 

★大文字、小文字の不一致

→列名の大文字、小文字は特に判断しないことが多いですが、

二重引用符(”)で囲んだ時は、大文字と小文字を区別します。

 

Select “A” From Dual

 

 

Select “a” From Dual

 

は別物です。

★列名が予約語になっている

などがあります。
原因が分からない時は、

上記を見直してみると、解決すると思います。^^
今回は以上になります。

コメントを残す

サブコンテンツ

このページの先頭へ