Explicit Attribute : Cursor ISOPEN « Cursor « Oracle PL / SQL

Home
Oracle PL / SQL
1.Aggregate Functions
2.Analytical Functions
3.Char Functions
4.Constraints
5.Conversion Functions
6.Cursor
7.Data Type
8.Date Timezone
9.Hierarchical Query
10.Index
11.Insert Delete Update
12.Large Objects
13.Numeric Math Functions
14.Object Oriented Database
15.PL SQL
16.Regular Expressions
17.Report Column Page
18.Result Set
19.Select Query
20.Sequence
21.SQL Plus
22.Stored Procedure Function
23.Subquery
24.System Packages
25.System Tables Views
26.Table
27.Table Joins
28.Trigger
29.User Previliege
30.View
31.XML
Oracle PL / SQL » Cursor » Cursor ISOPEN 
Explicit Attribute
    
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');

row created.

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

row created.

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

row created.

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

row created.

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

row created.

SQL>
SQL>
SQL> CREATE TABLE book (
  2    isbn      CHAR(10PRIMARY KEY,
  3    category  VARCHAR2(20),
  4    title     VARCHAR2(100),
  5    num_pages NUMBER,
  6    price     NUMBER,
  7    copyright NUMBER(4),
  8    emp1   NUMBER,
  9    emp2   NUMBER,
 10    emp3   NUMBER
 11  );

Table created.

SQL>
SQL> INSERT INTO book (isbn, category, title, num_pages, price, copyright, emp1, emp2, emp3)
  2             VALUES ('1''Database', 'Oracle', 56339.992009123);

row created.

SQL> INSERT INTO book (isbn, category, title, num_pages, price, copyright, emp1, emp2)
  2             VALUES ('2''Database', 'MySQL', 76544.99200945);

row created.

SQL> INSERT INTO book (isbn, category, title, num_pages, price, copyright, emp1, emp2, emp3)
  2             VALUES ('3''Database', 'SQL Server', 40439.992001678);

row created.

SQL>
SQL> SET SERVEROUTPUT ON ESCAPE OFF
SQL>
SQL> DECLARE
  2
  3     fnameValue emp.fname%TYPE;
  4     lnameValue emp.lname%TYPE;
  5     v_row_count PLS_INTEGER := 0;
  6     v_book_count PLS_INTEGER := 0;
  7
  8     CURSOR auth_cur IS
  9        SELECT a.fname, a.lname, count(b.title)
 10        FROM emp a, book b
 11        GROUP BY a.fname, a.lname
 12        HAVING count(b.title0
 13        ORDER BY a.lname;
 14
 15  BEGIN
 16     DBMS_OUTPUT.ENABLE(1000000);
 17     OPEN auth_cur;
 18     LOOP
 19        FETCH auth_cur INTO fnameValue, lnameValue, v_book_count;
 20        EXIT WHEN auth_cur%NOTFOUND;
 21
 22        
 23        v_row_count := auth_cur%ROWCOUNT;
 24        DBMS_OUTPUT.PUT_LINE(v_row_count||' rows processed so far');
 25
 26        DBMS_OUTPUT.PUT_LINE(lnameValue||','||fnameValue||' wrote '||v_book_count||' book(s).');
 27     END LOOP;
 28     CLOSE auth_cur;
 29     IF auth_cur%ISOPEN = FALSE
 30     THEN
 31        DBMS_OUTPUT.PUT_LINE('Cursor closed');
 32     ELSE
 33        DBMS_OUTPUT.PUT_LINE('The cursor is still open');
 34     END IF;
 35
 36  EXCEPTION
 37     WHEN OTHERS
 38        THEN
 39        DBMS_OUTPUT.PUT_LINE(SQLERRM);
 40  END;
 41  /
rows processed so far
B,A wrote book(s).
rows processed so far
D,C wrote book(s).
rows processed so far
F,Enn wrote book(s).
rows processed so far
H,G wrote book(s).
rows processed so far
Z,G wrote book(s).
Cursor closed

PL/SQL procedure successfully completed.

SQL> drop table emp;

Table dropped.

SQL> drop table book;

Table dropped.

SQL>

   
    
    
    
  
Related examples in the same category
1.Cursor isopen property
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.