Oracle Stored Procedure to return multiple records and call it in SQLPLUS
To return multiple records we need a REF CURSOR type variable to assign each record. The following is a script which return a REF CURSOR as OUT parameter.
--OracleStroredProc.sql
We can run the above script in SQLPLUS as below.
So procedure will be created by now. To call the procedure we have to create a variable of type REFCURSOR and pass it as a parameter to procedure call. Then we can
print the variable to see the result.
--OracleStroredProc.sql
CREATE OR REPLACE PACKAGE Types AS
TYPE cursor_type IS REF CURSOR;
END Types;
/
-------
CREATE OR REPLACE PROCEDURE getEmployeeInfo(p_recordset1 OUT Types.cursor_type) AS
BEGIN
OPEN p_recordset1 FOR
SELECT empNumber, empName, phone, address FROM Employees;
END;
/
We can run the above script in SQLPLUS as below.
SQL> START OracleStroredProc.sql
So procedure will be created by now. To call the procedure we have to create a variable of type REFCURSOR and pass it as a parameter to procedure call. Then we can
print the variable to see the result.
SQL> var a REFCURSOR;
SQL> call getEmployeeInfo(:a);
Call completed.
SQL> print :a;
Comments
Post a Comment