C言語の中で下記SQLを実行するとsqlwarningが発生することがあります。
やりたいことは
変数hoge1とhoge2でtbl1のcalam1とcalam2に抽出条件を渡します。
その値を持つtabl1のレコードのcalam3に値が一つでも入っていたらh_calam3に1を入れ、
全てnullならば0、またレコードが存在しない場合も0を入れたいです。
SQLWARNの2にWが立っており、調べたところ、
SQLWARN2の場合は、NULL 値がありながらインジケータ変数が与えられていないことを示します。
とありました。
どうすればsqlwarningが発生しないようになるのでしょうか。
select
temp.calam3
into
:h_calam3
from
(select
case
when max(tbl1.calam3)is null
then '0'
else '1'
end calam3
from tbl1,tbl2
where
tbl1.calam1 = tbl2.calam1 and
tbl1.calam2 = tbl2.calam2 and
tbl1.calam1 = :hoge1 and
tbl1.calam2 = :hoge2)temp;
回答2件
あなたの回答
tips
プレビュー