[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, 開発メモ
-,

関連記事

ORACLEでTO_CHARを使用し、カンマ区切りデータを出力する

帳票出力を行うPGで困った。 数値形式のデータのため、カンマ区切りで表示したいんだけど、テンプレートの制約のせいで上手く行かなくて時の解決方法。 帳票のテンプレートとなるファイルのセルは文字列形式。 …

no image

同じ失敗と、関連する失敗を繰り返さない方法

実際、仕事をしていると軽微なミスって言うのは少なからずあります。 日本の中心付近で仕様変更と闘うSE日記  1 Userデグレをぶちかましたので、開発作業を1週間以上止められた話。http: …

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

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

[VMWare Fusion]VMWare Fusion 12を導入した話

  日本の中心付近で仕様変更と闘うSE日記  1 Pocket[VMWare Fusion]VMWare Fusion 11がBigSurで使えなかった話。http://ht-jp …

改めて、コマンドプロンプトのrobocopyコマンドでバックアップを行う。

以前、会社では、バックアップ用のソフトを使っていたことがあります。 それも、社内ではなく、お客様用にw まぁ、それ自体は良いんですが、割とケチ?な会社だったので、使っているのはフリーソフト。 確か、商 …


カテゴリー