Stored Procedure Function Oracle PLSQL

SQL>
SQL>
SQL> -- A procedure block.
SQL>
SQL>
SQL> -- Executing the swapn procedure.
SQL> -- Demonstration of a nested procedure block.
SQL>
SQL> SET SERVEROUTPUT ON
SQL>
SQL> DECLARE
  2     first_number    NUMBER;
  3     second_number   NUMBER;
  4
  5  PROCEDURE swapn (num_one IN OUT NUMBER, num_two IN OUT NUMBER) IS
  6      temp_num    NUMBER;
  7  BEGIN
  8      temp_num := num_one;
  9      num_one := num_two;
 10      num_two := temp_num ;
 11  END;
 12
 13  BEGIN
 14
 15      first_number := 10;
 16     second_number := 20;
 17     DBMS_OUTPUT.PUT_LINE('First Number = ' || TO_CHAR (first_number));
 18     DBMS_OUTPUT.PUT_LINE('Second Number = ' || TO_CHAR (second_number));
 19
 20     -- Swap the values
 21     DBMS_OUTPUT.PUT_LINE('Swapping the two values now.');
 22     swapn(first_number, second_number);
 23
 24     -- Display the results
 25      DBMS_OUTPUT.PUT_LINE('First Number = ' || to_CHAR (first_number));
 26      DBMS_OUTPUT.PUT_LINE('Second Number = ' || to_CHAR (second_number));
 27  END;
 28  /
First Number = 10
Second Number = 20
Swapping the two values now.
First Number = 20
Second Number = 10
PL/SQL procedure successfully completed.
SQL>
SQL>