w3resource

PL/SQL Fundamentals Exercises: PL/SQL block to create procedure and call it for OR operator

PL/SQL Fundamentals: Exercise-13 with Solution

Write a PL/SQL block to create a procedure using the "IS [NOT] NULL Operator" and show OR operator returns TRUE if either operand is TRUE.

Here is the procedure :

PL/SQL Code:

CREATE OR REPLACE PROCEDURE pri_bool(
  boo_name   VARCHAR2,
  boo_val    BOOLEAN
) IS
BEGIN
  IF boo_val IS NULL THEN
    DBMS_OUTPUT.PUT_LINE( boo_name || ' = NULL');
  ELSIF boo_val = TRUE THEN
    DBMS_OUTPUT.PUT_LINE( boo_name || ' = TRUE');
  ELSE
    DBMS_OUTPUT.PUT_LINE( boo_name || ' = FALSE');
  END IF;
END;
/

Now call the procedure pri_bool:

PL/SQL Code:

DECLARE
  PROCEDURE pri_m_or_n (
    m  BOOLEAN,
    n  BOOLEAN
  ) IS
  BEGIN
   pri_bool ('m', m);
   pri_bool ('n', n);
   pri_bool ('m OR n', m OR n);
 END pri_m_or_n;
BEGIN
DBMS_OUTPUT.PUT_LINE('------------- FOR m OR n both FALSE ---------------------');
 pri_m_or_n (FALSE, FALSE);
DBMS_OUTPUT.PUT_LINE('------------- FOR m TRUE OR n FALSE ---------------------');
 pri_m_or_n (TRUE, FALSE);
DBMS_OUTPUT.PUT_LINE('------------- FOR m FALSE OR n TRUE ---------------------');
 pri_m_or_n (FALSE, TRUE);
DBMS_OUTPUT.PUT_LINE('------------- FOR m TRUE OR n TRUE ---------------------');
 pri_m_or_n (TRUE, TRUE);
DBMS_OUTPUT.PUT_LINE('------------- FOR m TRUE OR n NULL ---------------------');
 pri_m_or_n (TRUE, NULL);
DBMS_OUTPUT.PUT_LINE('------------- FOR m FALSE OR n NULL---------------------');
 pri_m_or_n (FALSE, NULL);
DBMS_OUTPUT.PUT_LINE('------------- FOR m NULL OR n TRUE ---------------------');
 pri_m_or_n (NULL, TRUE);
DBMS_OUTPUT.PUT_LINE('------------- FOR m NULL OR n FALSE ---------------------');
 pri_m_or_n (NULL, FALSE);
END;
/

Sample Output:

------------- FOR m OR n both FALSE ---------------------
m = FALSE
n = FALSE
m OR n = FALSE
------------- FOR m TRUE OR n FALSE ---------------------
m = TRUE
n = FALSE
m OR n = TRUE
------------- FOR m FALSE OR n TRUE ---------------------
m = FALSE
n = TRUE
m OR n = TRUE
------------- FOR m TRUE OR n TRUE ---------------------
m = TRUE
n = TRUE
m OR n = TRUE
------------- FOR m TRUE OR n NULL ---------------------
m = TRUE
n = NULL
m OR n = TRUE
------------- FOR m FALSE OR n NULL---------------------
m = FALSE
n = NULL
m OR n = NULL
------------- FOR m NULL OR n TRUE ---------------------
m = NULL
n = TRUE
m OR n = TRUE
------------- FOR m NULL OR n FALSE ---------------------
m = NULL
n = FALSE
m OR n = NULL

Flowchart:

Procedure

Flowchart: PL/SQL Fundamentals Exercise - PL/SQL block to create procedure and call it for OR operator

Now call the procedure pri_bool:

Flowchart: PL/SQL Fundamentals Exercise - PL/SQL block to create procedure and call it for OR operator

Improve this sample solution and post your code through Disqus

Previous: Write a PL/SQL block to create a procedure using the "IS [NOT] NULL Operator" and show  AND operator  returns TRUE if and only if both operands are TRUE.
Next: Write a PL/SQL block to create a procedure using the "IS [NOT] NULL Operator" and show  NOT operator returns the opposite of its operand, unless the operand is NULL.

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.