Close cursor after while loop : Close Cursor « Cursor « Oracle PL / SQL






Close cursor after while loop

  

SQL> CREATE TABLE emp (
  2    id         NUMBER PRIMARY KEY,
  3    fname VARCHAR2(50),
  4    lname  VARCHAR2(50)
  5  );

Table created.

SQL>
SQL> INSERT INTO emp (id, fname, lname)VALUES (1, 'A', 'B');

1 row created.

SQL> INSERT INTO emp (id, fname, lname)VALUES (2, 'C', 'D');

1 row created.

SQL> INSERT INTO emp (id, fname, lname)VALUES (3, 'E', 'F');

1 row created.

SQL> INSERT INTO emp (id, fname, lname)VALUES (4, 'G', 'H');

1 row created.

SQL> INSERT INTO emp (id, fname, lname)VALUES (5, 'G', 'Z');

1 row created.

SQL>
SQL> SET SERVEROUTPUT ON ESCAPE OFF
SQL>
SQL> DECLARE
  2     v_emp emp%ROWTYPE;
  3
  4     CURSOR auth_cur IS SELECT * FROM emp;
  5  BEGIN
  6     OPEN auth_cur;
  7
  8     FETCH auth_cur INTO v_emp;
  9
 10     WHILE auth_cur%FOUND LOOP
 11
 12        DBMS_OUTPUT.PUT_LINE(v_emp.lname);
 13
 14        FETCH auth_cur INTO v_emp;
 15
 16     END LOOP;
 17
 18     CLOSE auth_cur;
 19  END;
 20  /
B
D
F
H
Z

PL/SQL procedure successfully completed.

SQL> drop table emp;

Table dropped.

   
    
  








Related examples in the same category

1.Below is a function that demonstrates how to use the CLOSE statement
2.Closing the Cursor Variable
3.Close a cursor after looping
4.Close a cursor and open it again with another query
5.After the cursor is opened, the book table is dropped prior to looping through the cursor.
6.Close cursor in excpetion handler