हम SQLPlus में इसका परीक्षण कर सकते हैं यह देखने के लिए कि 3 स्थितियों में से प्रत्येक में क्या होता है (सत्य, गलत, शून्य):
set serveroutput on
declare
true_value boolean := true;
false_value boolean := false;
null_value boolean;
begin
if not true_value then --Should not pass
dbms_output.put_line('True Value');
end if;
if not false_value then --Should pass
dbms_output.put_line('False Value');
end if;
if null_value is null then --Just to make sure it is null
dbms_output.put_line('Null Value is Null');
end if;
if not null_value then --Should not pass
dbms_output.put_line('Null Value');
end if;
end;
/
जो उत्पादन करता है:
SQL> set serveroutput on
SQL>
SQL> declare
2 true_value boolean := true;
3 false_value boolean := false;
4 null_value boolean;
5 begin
6
7 if not true_value then --Should not pass
8 dbms_output.put_line('True Value');
9 end if;
10
11 if not false_value then --Should pass
12 dbms_output.put_line('False Value');
13 end if;
14
15 if null_value is null then --Just to make sure it is null
16 dbms_output.put_line('Null Value is Null');
17 end if;
18
19 if not null_value then --Should not pass
20 dbms_output.put_line('Null Value');
21 end if;
22 end;
23 /
False Value
Null Value is Null
PL/SQL procedure successfully completed.
SQL>
तो एकमात्र संभावित कोड पथ जो आपके अपेक्षित आउटपुट का उत्पादन कर सकता है, यदि सशर्त में जाने वाला मान गलत है। यदि वह वह नहीं है जो आप देख रहे हैं या उम्मीद कर रहे हैं तो आपकी प्रक्रिया में या साइड इफेक्ट के रूप में कुछ और हो रहा होगा।