質問: p_クラス番号)) into v_count from dual; --nullで返したいのでサブクエリ使っています。 if v_count is null then return 'クラスは満員です。登録できません。'; --nullはクラスに空きがないとゆう意味 else return '登録可能です'; end if; end; / ``` このfunctionは正常に動きます。(私の試した結果では) ですがプロシージャに入れると、funtionが機能していないようです。 ここから下はプロシージャのbodyの一部です。 ``` begin If Valid_capacity(p_クラス番号) is null then DBMS_OUTPUT.PUT_LINE('Cource is NOT Available'); Else DBMS_OUTPUT.PUT_LINE('You are enrolled'); end if; END; / ``` このプロシージャではnullでもElseの値を返します。 これはどうゆう意味でしょうか? ご教授お願いいたします。
回答: Valid_capacityのreturnで返しているのが、「クラスは満員です。登録できません。」という文字列だからだと思います。 これをnullに変更してみてください。