Test cursor attributes with an implicit cursor : Implicit Cursor « Cursor « Oracle PL/SQL Tutorial






SQL>
SQL> CREATE TABLE book (
  2    isbn      CHAR(10) PRIMARY 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', 563, 39.99, 2009, 1, 2, 3);

1 row created.

SQL> INSERT INTO book (isbn, category, title, num_pages, price, copyright, emp1, emp2)
  2             VALUES ('2', 'Database', 'MySQL', 765, 44.99, 2009, 4, 5);

1 row created.

SQL> INSERT INTO book (isbn, category, title, num_pages, price, copyright, emp1, emp2, emp3)
  2             VALUES ('3', 'Database', 'SQL Server', 404, 39.99, 2001, 6, 7, 8);

1 row created.

SQL>
SQL> SET SERVEROUTPUT ON ESCAPE OFF
SQL>
SQL>
SQL> BEGIN
  2     DBMS_OUTPUT.ENABLE(1000000);
  3     UPDATE book SET price = price * .90 WHERE isbn = '1';
  4
  5     DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT||' rows updated');
  6
  7     IF SQL%NOTFOUND
  8     THEN
  9        DBMS_OUTPUT.PUT_LINE('Unable to update isbn 1');
 10     END IF;
 11
 12     COMMIT;
 13
 14  EXCEPTION
 15     WHEN OTHERS
 16        THEN
 17        DBMS_OUTPUT.PUT_LINE(SQLERRM);
 18  END;
 19  /
1 rows updated

PL/SQL procedure successfully completed.

SQL>
SQL> drop table book;

Table dropped.








25.8.Implicit Cursor
25.8.1.Taking a Shortcut with CURSOR FOR Loops
25.8.2.%ISOPEN, %FOUND, %NOTFOUND variables aren't useful at all in CURSOR FOR loops
25.8.3.Implicit Cursor Attributes: SQL%NOTFOUND
25.8.4.Implicit Cursor Attributes Example: SQL%ROWCOUNT
25.8.5.NO_DATA_FOUND Exception vs. %NOTFOUND
25.8.6.Looping through a Cursor by Using the LOOP Command
25.8.7.Adding an Exception Handler to a CURSOR FOR Loop
25.8.8.Knowing what record is processing
25.8.9.Use %ROWCOUNT to detect what record you are processing at a given point
25.8.10.Declare and use a cursor in for loop
25.8.11.Implicit cursor open, fetch and close
25.8.12.Handling exceptions in implicit cursors
25.8.13.Returning an implicit cursor into a record
25.8.14.The Difference between Explicit and Implicit Cursors
25.8.15.Implicit Cursor: Too many rows
25.8.16.Implicit Cursor: No rows found
25.8.17.Use implicit or explicit cursor to insert 50000 rows to a table
25.8.18.Test cursor attributes with an implicit cursor