[ORACLE]ORA-24344:正常に終了しましたが、コンパイル・エラーがあります。

投稿日:

全然、正常に終われてねぇんじゃん??
って思った。

ビューの作成時に発生。

ネットで検索するも、明確な回答は見当たらず・・・

ただ、エラーには違いないので、ビューが正しく作成されていないことになる。

原因は、


CREATE OR REPLACE FORCE VIEW ("SEQ","MANAGE_NO".....) AS
  SELECT
    SEQ AS SEQ
    ,CASt(MANAGE_NO AS NUMBER(2)) MANAGE_NO
    :
    :
  FROM(
       SELECT
          SEQ
          ,NVL(MANAGE_NO, '')
       FROM
         :
       )

って感じで「NVL」を使ってしまったのが原因でした。

NUMBERへキャストかけてるのにも関わらず「”」で空文字を充てようとしてたので・・・

確かに、元のSQLはデフォルト値として数値だったんだけど、NULLにしろというか、実行時には殻文字でパッと見は見えないようにしろっていうお達しがあり、対応中に発生w

すぐに気づける内容だったからよかった。

ただ、これが客先にリリースされた後だったら、多分、帰れなくなるパターン・・・







-ORACLE, 開発メモ

関連記事

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

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

partition by を使って、ORACLEで、グループ毎に1行だけ取得する。

グループ単位で一番小さいとか、一番大きいとかだけなら、MinやMaxを使って外部結合で対応できるんだけど、1番目2番目3番目を1列で取得しなきゃいけない状態になったので、調べて解決。 「partiti …

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

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

TortiseSVNなんだけど、自分が原因で「already locked」が出てしまった時の対処法。自分がロックを取ってて、ロックが取れずコミットが出来ない事態に遭遇した・・・

SVNを使っていると、たまにありますね。 ロックが既に誰かに取得されていて、コミットしようとした時に、唖然とするやつ。 ただ、今回は状況が違いました。 いつもなら、「ロック取ってるやつ誰だよ~」って感 …

[ORACLE]指定日付の月末を取得する

LAST_DAYで月末を取得する LAST_DAYを使います。 実際、仕様で、ある項目には月末を入力させるとか、翌月1日を指定するとかいうのが指定されたりします。 細かく計算してると正直面倒くさいです …


カテゴリー