sql >> Database >  >> RDS >> Oracle

Evaluatie van PL/SQL Booleaanse variabelen in Oracle Forms

We kunnen dit testen in SQLPlus om te zien wat er gebeurt in elk van de 3 situaties (true, false, null):

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;
/

Wat produceert:

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>

Dus het enige mogelijke codepad dat uw verwachte uitvoer kan produceren, is als de waarde die naar de voorwaardelijke waarde gaat, onwaar is. Als dat niet is wat u ziet of verwacht, moet er iets anders aan de hand zijn in uw procedure of als bijwerking.



  1. Hoe voeg ik meerdere tekstvakwaarden in één veld met verschillende verschillende id's in?

  2. Hoe gebruik je een voorbereide instructie voor een selectiequery in Java?

  3. Heroku Rails Rake Task om productie en lokale database te synchroniseren

  4. Sqlite-gegevens en automatisch gemaakte knoppen op ScrollPane