Creating a Sequential Cursor by Default
If you use only the CURSOR keyword, you create a sequential cursor, which can fetch only the next row in sequence from the active set. The sequential cursor can read through the active set only once each time it is opened.
If you are using a sequential cursor for a Select cursor, on each execution of the FETCH statement, the database server returns the contents of the current row and locates the next row in the active set.
The following example creates a read-only sequential cursor in
a database that is not ANSI compliant and an update sequential cursor
in an ANSI-compliant database:
EXEC SQL declare s_cur cursor for
select fname, lname into :st_fname, :st_lname
from orders where customer_num = 114;
Insert cursors also have the sequential cursor characteristic.
To create a Insert cursor, you associate a sequential cursor with
a restricted form of the INSERT statement. (For more information,
see Insert Cursor.) The following
example declares an Insert cursor:
EXEC SQL declare ins_cur cursor for
insert into stock values
(:stock_no,:manu_code,:descr,:u_price,:unit,:u_desc);