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のMERGE INTOで、UPDATEは出来るのに、INSERTできない

最近、Oracleのエラーの話しか書いてない気がするw     便利というか、トランザクション内の処理も1つで済むので、MERGE INTO文を使うことがあります。 実際、 新規デ …

OracleでLISTAGG関数を使ったけど、世界を変えられなかった話・・・

OracleでLISTAGG関数を使ったら、世界が変わった話。 はい、休日出勤でした。 そして、休日出勤の結果、以下のことが分かりました(泣 日本の中心付近で仕様変更と闘うSE日記OracleでLIS …

no image

Oracleの再受験無料キャンペーンは5月31日まで

【ピアソンVUE専用】Oracle会場試験用受験チケット(電子チケット) 価格:26,720円 (2019/5/19 14:11時点) 感想(15件) 【ピアソンVUE専用】Oracleオンライン試験 …

[ORACLE]ORA-12514:TNS 指定された接続識別子を解決できませんでした のエラー対処法

ORA-12514 ORA-12514: TNS:listener does not currently know of service requested in connect descriptor …

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

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


カテゴリー