SQL0305 は確かに NULL値をセットする変数が存在しないという旨のエラーですが逆にこのエラー・メッセージを読み代えると、対象レコードが存在しないのにFETCH が実行されているということになります。つまり、FETCH の直前に実行されている SELECT 文での選択レコードが何もなかったのに、その判断が成されずに FETCH が実行されたということです。単にNULL値のレコードが見つかったという訳ではないと思われます。SELECT 後にレコードが見つからなかった場合の判断を追加してみてください。
IKDさんご返信ありがとうございます。> 単にNULL値のレコードが見つかったという訳ではないと思われます。> SELECT 後にレコードが見つからなかった場合の判断を追加してみてください。ご指摘頂いたとおり、試してみましたが、レコードは存在しているようです。やはりIFNULL等で1項目づつ判断しなければならないでしょうか?
具体的には、どのようなコーディングでしょうか ?CREATE TABLE を事前に行っておられるのであればCREATE TABLE(QTEMP/SHOHIN)( SHNAME CHAR(32) NOT NULL DEFAULT '}のようにして事前に NULL に対して省略時の処理を定義しておくことができます。