OracleでORA-01747 : 指定された列が無効ですのエラーの分かりづらさ・・・

投稿日:2017-09-11

OracleでORA-01747 : 指定された列が無効ですのエラーの分かりづらさったらありません・・・

SQLのUPDATE文の実行時に
「ORA-01747 : 指定された列が無効です」
とエラーになるも、パッと見で正常なSQLだったので、気づかなかった例です。

実際には、正しくないからエラーになってるんだけど・・・

UPDATE TableA SET
,COLUMN1
...

と言う書き方で、なんで1項目目から「,」が入ってるんだよって話。

SQLのコピペで修正してると意外と気づかないオチ。

エディタを使ったり、手で書いた時には多分発生しないけど、今回はどうして発生したんだろう?

  • 「,」の後ろにペーストしてしまった
  • 「,」ごとコピーした上で、1項目目にペーストした

どっちかなんだろうけど、どっちも普段からあり得るので気をつけないと・・・。

ただ、今回はコピー元のSQLが正常に動いていたので、JOIN句の接続テーブルとか、GROUP BY句の項目名とかにしか意識が行かなくて、悩んだ例です。

参考URL
ORA-01747 : 指定された列が無効です。







-ORACLE
-

関連記事

ORACLEでDELETEとTRUNCATEのどちらを使うか。

未だに迷う。 例えば、テーブル全件削除をしたいときは delete * from tableA; delete文なら、こうだし。 truncate tableA; truncate文なら、こう。

[ORACLE]最初の有効値を返すCOALESCE・・・読み方分からねぇw

知らなかったら、多分CASEとかで判定してた。 まぁ、人の書いたSQLは勉強になるよねって話・・・じゃないなw 事の発端は、今のプロジェクトで別の人が作った画面の修正をやることになったこと。 その人は …

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

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

C# OracleDbAccessを使用して、SQL実行時にORA-00911 文字が無効です のエラー

表題のとおり、C#でOracleDbAccessを使用して、SQLを実行させる時に発生しました。 ネットで探すと、 全角スペースが原因 とか出てきたので、SQL内のスペースを全て半角スペースに置き換え …

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

なんでエラーになるものをマージしてるんだ? と、怒られました。 一瞬、理解が出来ず・・・ で、エラーを再現してもらう・・・と。 あっさり発生。 早く修正しろって突っ返されました。 頭には「?」しか浮か …


カテゴリー