Demonstration of a nested procedure block : Procedure « Function Procedure Packages « Oracle PL/SQL Tutorial






SQL>
SQL>
SQL> SET ECHO ON
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>








27.5.Procedure
27.5.1.Procedures
27.5.2.A procedure block.
27.5.3.Wrapping a task into a procedure
27.5.4.Storing PL/SQL procedure in the Database
27.5.5.Creating stored procedures
27.5.6.Execute a procedure
27.5.7.Demonstration of a nested procedure block
27.5.8.Create or replace a procedure
27.5.9.Calling a Procedure
27.5.10.Pass ROWTYPE to a procedure
27.5.11.Insert debug line to the stored procedure with DBMS_OUTPUT.PUT_LINE
27.5.12.Listing Stored Procedure Information
27.5.13.Decrease salary with user procedure
27.5.14.Forward Referencing