Create a function and call it in an if statement : IF « PL SQL « Oracle PL / SQL






Create a function and call it in an if statement

    

SQL> CREATE TABLE emp (
  2    id         NUMBER PRIMARY KEY,
  3    fname VARCHAR2(50),
  4    lname  VARCHAR2(50)
  5  );

Table created.

SQL>
SQL> CREATE TABLE books (
  2    isbn      CHAR(10) PRIMARY KEY,
  3    category  VARCHAR2(20),
  4    title     VARCHAR2(100),
  5    num_pages NUMBER,
  6    price     NUMBER,
  7    copyright NUMBER(4),
  8    emp1   NUMBER,
  9    emp2   NUMBER,
 10    emp3   NUMBER
 11  );

Table created.

SQL>
SQL>
SQL> CREATE OR REPLACE FUNCTION Threeemp(p_ISBN IN books.isbn%TYPE)
  2    RETURN BOOLEAN AS
  3
  4    v_emp3 books.emp3%TYPE;
  5  BEGIN
  6    SELECT emp3 INTO v_emp3 FROM books WHERE isbn = p_ISBN;
  7
  8    IF v_emp3 IS NULL THEN
  9      RETURN FALSE;
 10    ELSE
 11      RETURN TRUE;
 12    END IF;
 13  END Threeemp;
 14  /

Function created.

SQL>
SQL> set serveroutput on
SQL>
SQL> BEGIN
  2    FOR v_Rec IN (SELECT ISBN, title FROM books) LOOP
  3      IF Threeemp(v_Rec.ISBN) THEN
  4        DBMS_OUTPUT.PUT_LINE('"' || v_Rec.title || '" has 3 emp');
  5      END IF;
  6    END LOOP;
  7  END;
  8  /

PL/SQL procedure successfully completed.

SQL> drop table books;

Table dropped.

SQL> drop table emp;

Table dropped.

   
    
    
    
  








Related examples in the same category

1.IF...ELSIF...ELSE... END IF
2.The IF statement contains more than one statement per condition.
3.IF THEN and END IF
4.Adding ELSE to the IF block
5.IF, ELSIF ELSE and END IF
6.Using nested IF statements
7.Using IF...ELSIF to determine a grade
8.if then else
9.A conditional statement
10.Check number value in if statement
11.Exit a loop with condition
12.If ladder
13.Compare three variables with if statement
14.If count() is 0, insert data
15.If condition meets, throw exception
16.Nested if statement
17.If...then...Else
18.Using a Boolean variable instead of the comparison operation
19.An if-then-elsif-then-else statement where the first two comparisons are true and the third false