【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
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
, 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
は別物です。
★列名が予約語になっている
などがあります。
原因が分からない時は、
上記を見直してみると、解決すると思います。^^
今回は以上になります。