新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RPG SQLでNULLの使用 しゅう さん [ 7月15日(火) 11時0分 ]

    いつも勉強させていただいています。
    さて、現在JAVAで作成されたDBをRPG SQLにて処理するプログラムを作成していますが
    該当DB内にNULLがセットされているため、RPG SQL側のFETCH命令で305のエラーが発生
    してしまいます。

    DBのフィールド単位に、ALWNULL設定をとも考えましたが、RPG側の設定でNULLの使用許可が
    出来るようなことがないでしょうか?

    宜しくお願いいたします。

    RE:RPG SQLでNULLの使用 IKD さん [ 7月17日(木) 10時46分 ]

      SQL0305 は確かに NULL値をセットする変数が存在しないという旨のエラーですが
      逆にこのエラー・メッセージを読み代えると、対象レコードが存在しないのに
      FETCH が実行されているということになります。
      つまり、FETCH の直前に実行されている SELECT 文での選択レコードが
      何もなかったのに、その判断が成されずに FETCH が実行されたということです。
      単にNULL値のレコードが見つかったという訳ではないと思われます。
      SELECT 後にレコードが見つからなかった場合の判断を追加してみてください。

      RE:RPG SQLでNULLの使用 しゅう さん [ 7月22日(火) 11時49分 ]

        IKDさん
        ご返信ありがとうございます。
        > 単にNULL値のレコードが見つかったという訳ではないと思われます。
        > SELECT 後にレコードが見つからなかった場合の判断を追加してみてください。

        ご指摘頂いたとおり、試してみましたが、レコードは存在しているようです。
        やはりIFNULL等で1項目づつ判断しなければならないでしょうか?

        RE:RPG SQLでNULLの使用 IKD さん [ 7月22日(火) 18時38分 ]

          具体的には、どのようなコーディングでしょうか ?
          CREATE TABLE を事前に行っておられるのであれば

          CREATE TABLE(QTEMP/SHOHIN)(
             SHNAME CHAR(32) NOT NULL DEFAULT '
          }

          のようにして事前に NULL に対して省略時の処理を定義しておくことが
          できます。

お名前
パスワード
e-mailアドレス
タイトル
ホームページ
アドレス