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

関連記事

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

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

[C#]文字を繰り返したものを取得したい。

いちいちfor文とかで繰り返すのも効率が悪いなと思ってたので、処理を関数化・・・ ただ、共通関数として登録しないので、別のところで使いたい場合は、同じ関数が複数登録されちゃうことに・・・ 更には、思い …

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

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

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

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

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

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


カテゴリー