Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Đánh giá các biến boolean PL / SQL trong Oracle Forms

Chúng tôi có thể kiểm tra điều này trong SQLPlus để xem điều gì xảy ra trong từng trường hợp trong số 3 trường hợp (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;
/

Sản xuất:

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>

Vì vậy, đường dẫn mã khả thi duy nhất có thể tạo ra kết quả mong đợi của bạn là nếu giá trị đi vào điều kiện là sai. Nếu đó không phải là những gì bạn đang thấy hoặc mong đợi thì chắc chắn có điều gì đó khác đang xảy ra trong quy trình của bạn hoặc là một tác dụng phụ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các thủ tục có cần Quyền truy cập riêng biệt trên Bảng không?

  2. Tại sao chạy truy vấn này với EXECUTE NGAY LẬP TỨC khiến nó không thành công?

  3. Gọi hàm Java từ hàm Oracle

  4. Cách sử dụng các tham số SQL trong một đoạn SQL đánh dấu R

  5. Oracle chuyển đổi TIMESTAMP với múi giờ thành DATE