[ORACLE]ORA-00918:列の定義が未確定です・・・のエラーにならなかった

投稿日:

なんでエラーになるものをマージしてるんだ?

と、怒られました。

一瞬、理解が出来ず・・・

で、エラーを再現してもらう・・・と。

あっさり発生。

早く修正しろって突っ返されました。

頭には「?」しか浮かばない

それもそのはず、自分の環境で同一の処理を実行してもエラーにならないんですもの・・・

少なくとも、自分の環境で実行時にエラーになるようなものは、マージしません。

デバッグで処理を追ってみるものの、エラーになるような箇所は見当たらず。

~そんなこんなで1時間過ぎた頃・・・~

「ORA-00918で落ちてるから、SQLを確認しろや」と。

エラーの内容を頼りに、SQLを精査したらダブっている箇所を発見。

select 
   head.name as name
   , body.name as name
   , body.address as address
from
   header head
   left join detail body
     on body.id = head.id
        :
        :
        :
   left join detail body
     on body.id = head.id

こんな感じで、同じ別名を使用したJOIN句が2箇所存在してました。

自分の環境では、やはりエラーにならない

先にも書いたけど、自分の環境ではエラーにならず、正常にデータ取得できるし・・・

実行されるSQLだけを取得し直して実行してみても、問題なし。

まぁ、釈然としないまま修正をしたわけです。

ただ、調べていたら、過去に似たような状況がバグであったみたいです。

[Oracle] 「ORA-00918: 列の定義が未確定です。」になるはずが...
https://ameblo.jp/archive-redo-blog/entry-10033356733.html

この記事自体が2005年で、10年以上前であることと、そもそもOracleのバージョンが異なることには注意。

実際、私が使用しているバージョンははOracle 11gなので。

まぁ、こんな事もあるってことで。







-ORACLE, 開発メモ
-,

関連記事

[VB.net]TextBoxで、マウスクリック(1回目)だけ、内容を全選択させる

結構前に書いた記事 日本の中心付近で仕様変更と闘うSE日記[C#]TextBoxで、マウスクリック(1回目)だけ、内容を全選択させるhttp://ht-jp.net/blog/pc/c/c-textb …

ORACLEで「IMP-00013: DBAのみ別のDBAがエクスポートしたファイルをインポートできます。」の解決法。

客先DBのエクスポートしたものがインポートできずに、タイトルのエラーを吐く。 幸い、お客さんの目の前じゃなかったので、ゆっくり調べて解決できたけど、客先で発生したら困るよなぁ・・・ もともと英語のメッ …

なぜ、エラーが発生する? VirtualBoxでのUbuntu Linuxの起動に再チャレンジ。

前回、会社で遊べる勉強できる環境としてUbuntu Linuxを導入しようと画策していました。 前回は、あえなく断念・・・ 日本の中心付近で仕様変更と闘うSE日記VMWareがだめだったから、Virt …

Oracle Database Bronzeの勉強を始めました。

業務でOracleを使ってます。 DBへの接続と簡単なSQLの確認ぐらいだったら、SQLDeveloperとかのツールを使わずにSQLPlusだけで済ませちゃう人も多いのかな? あとは、SQLのバッチ …

[C#]systemcolorを使う

ボタンとかを作成した時に、BackColorとかにデフォルトで設定される色を変更したいけど、何かのアクション以外は、デフォルト職を使いたい。 って時に多分使える。 SystemColorsクラス(Mi …


カテゴリー