How To Pass a Cursor Variable to a Procedure?
Submitted by: AdministratorA cursor variable can be passed into a procedure like a normal variable. The sample script below gives you a good example:
CREATE OR REPLACE PROCEDURE ggl_CENTER AS
sys_cur SYS_REFCURSOR;
PROCEDURE emp_print(cur SYS_REFCURSOR) AS
emp_rec employees%ROWTYPE;
BEGIN
LOOP
FETCH cur INTO emp_rec;
EXIT WHEN cur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Name = ' ||
emp_rec.first_name || ' ' || emp_rec.last_name);
END LOOP;
END;
BEGIN
OPEN sys_cur FOR SELECT * FROM employees
WHERE manager_id = 101;
emp_print(sys_cur);
CLOSE sys_cur;
END;
/
Name = Nancy Greenberg
Name = Jennifer Whalen
Name = Susan Mavris
Name = Hermann Baer
Name = Shelley Higgins
Submitted by: Administrator
CREATE OR REPLACE PROCEDURE ggl_CENTER AS
sys_cur SYS_REFCURSOR;
PROCEDURE emp_print(cur SYS_REFCURSOR) AS
emp_rec employees%ROWTYPE;
BEGIN
LOOP
FETCH cur INTO emp_rec;
EXIT WHEN cur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Name = ' ||
emp_rec.first_name || ' ' || emp_rec.last_name);
END LOOP;
END;
BEGIN
OPEN sys_cur FOR SELECT * FROM employees
WHERE manager_id = 101;
emp_print(sys_cur);
CLOSE sys_cur;
END;
/
Name = Nancy Greenberg
Name = Jennifer Whalen
Name = Susan Mavris
Name = Hermann Baer
Name = Shelley Higgins
Submitted by: Administrator
Read Online Oracle Database Job Interview Questions And Answers
Top Oracle Database Questions
☺ | How To Write Date and Time Interval Literals in Oracle? |
☺ | How Oracle Handles Dead Locks? |
☺ | How To Use Values from Other Tables in UPDATE Statements using Oracle? |
☺ | How To Recover a Dropped Table in Oracle? |
☺ | What Is Input Buffer in SQL*Plus? |
Top DB Oracle Categories
☺ | Oracle PL-SQL Interview Questions. |
☺ | Oracle DBA Interview Questions. |
☺ | Oracle D2K Interview Questions. |
☺ | OCI Interview Questions. |
☺ | Oracle RMAN Interview Questions. |