1 – cursor-name
The name of the cursor you want to declare. Use a name that is unique among all the cursor names in the module. Use any valid SQL name. See the User_Supplied_Names HELP topic for more information on identifiers.
2 – FOR statement name
A name that identifies a prepared SELECT statement that is generated at run time.
3 – INSERT_ONLY
Specifies that a new list or a new row is created or opened.
4 – LIST_CURSOR
Specifies that you are declaring a cursor to access the elements in a list.
5 – preserve-clause
Syntax options: PRESERVE ON COMMIT PRESERVE ON ROLLBACK PRESERVE ALL PRESERVE NONE Specifies when a cursor remains open. o PRESERVE ON COMMIT On commit, all cursors close except those defined with the WITH HOLD PRESERVE ON COMMIT syntax. On rollback, all cursors close including those defined with the WITH HOLD PRESERVE ON COMMIT syntax. This is the same as specifying the WITH HOLD clause without any preserve options. o PRESERVE ON ROLLBACK On rollback, all cursors close except those defined with the WITH HOLD PRESERVE ON ROLLBACK syntax. On commit, all cursors close including those defined with the WITH HOLD PRESERVE ON ROLLBACK syntax. o PRESERVE ALL All cursors remain open after commit or rollback. Cursors close with the CLOSE statement or when the session ends. o PRESERVE NONE All cursors close after a CLOSE, COMMIT, or ROLLBACK statement, when the program stops, or when you exit from interactive SQL. This is the same as not specifying the WITH HOLD clause at all.
6 – READ_ONLY
Specifies that the cursor is not used to update the database.
7 – SCROLL
Specifies that Oracle Rdb can read the items in a list from either direction (up or down) or at random.
8 – TABLE_CURSOR
Specifies that you are declaring a cursor to access the rows in a table.
9 – UPDATE_ONLY
Specifies that the cursor is used to update the database.
10 – WITH_HOLD
Indicates that the cursor remain open and maintain its position after the transaction ends. This is called a holdable cursor.