Answers

Question and Answer:

  Home  Oracle Database

⟩ How To Pass a Cursor Variable to a Procedure?

A 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

 182 views

More Questions for you: