[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]Oracle 11g XEの文字コードの変更

Oracle 11g XE を普通にインストールするとUFT-8になりますが、場合に寄っちゃSJISで設定しなきゃいけないときもあるので、その手順。 SJISのdumpを渡される 以前、疑問に思ったの …

[C#]ToStringメソッドで簡単に桁区切りを実現する方法

結論 ToStringメソッドと書式設定で解決。 int a = 1; int b = 1; int ab = a * b; string c = ""; //「1」になる c = …

OracleDataaccessでどハマリして、勉強になったとかじゃなくお客さんに迷惑かけたし、もう穴を掘って埋まりたい

みんなは、どうやってOracleDataaccessを筆頭に、複数バージョンが入り乱れるDLLを管理してるのか教えてください。 マジで。

ダイナミックディスクのクローン作成に失敗したから、結局、OSのクリーンインストールをせざるを得なかった。

SSDへの移行失敗しました。 無料で使えるEaseUS Todo BackUp のフリー版を使ったけど、クローンが作成できなかった・・・ コピー後、起動しようとしても、お馴染みのOSディスクが無いぜ? …

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

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


カテゴリー