BOOLEAN
OracleフォームのPL/SQLブロック内に変数があるとします。
DECLARE
is_viewable BOOLEAN;
BEGIN
is_viewable := ...;
IF NOT is_viewable THEN
raise_my_error(); // pseudo-code
END IF;
END;
デバッガーを使用してこのコードを数回ステップ実行した後、呼び出されraise_my_error()
ないことがわかりました。明確にするために:
raise_my_error()
次の場合は呼び出されませんis_viewable = TRUE
raise_my_error()
次の場合は呼び出されませんis_viewable = FALSE
初期テストでは、この動作はOracleForms内で実行されるPL/ SQLコードに限定されており、データベース内で直接実行されるPL / SQLコードではないことが示されています(間違っている可能性があります)。
is_viewable
明示的に比較することでこれを回避できますFALSE
:
IF is_viewable = FALSE THEN
raise_my_error();
END IF;
NOT is_viewable
なぜ評価されないのか、私はまだ興味がありTRUE
ます。
更新:デバッガーに正しい値が表示されておらず、この質問は無効になっているようです。その混乱について申し訳ありません。