ORACLE機能 ORAエラー

[ORAエラー] ORA-00918: 列の定義が未確定です。

投稿日:

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

(日本語)
ORA-00918: 列の定義が未確定です。
(英語)
ORA-00918: column ambiguously defined

発生パターン

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

  • where句で指定したカラム名が一意に認識できない。
    (複数のテーブルを結合した時に同じ名称のカラムが存在する場合、そのカラム名のみを指定して条件指定すると、どのテーブルのカラムか判断できないためエラーとなります。)
エラー例
SQL> SELECT * FROM tbl01 INNER JOIN tbl02 2 ON tbl01.id = tbl02.id 3 WHERE id = 'XX' 4 / WHERE id = 'XX' * 行3でエラーが発生しました。: ORA-00918: 列の定義が未確定です。

この場合、where句に指定したidが tbl01のidかtbl02のidか判断が付きません。
 3行目を「WHERE tbl01.id = 'XX'」のようにすればエラーは解消します。

対処法

  • エラー対象のカラム名にテーブル名も指定する。

スポンサーリンク

スポンサーリンク

-ORACLE機能, ORAエラー

執筆者:


comment

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

  関連記事


スポンサーリンク