A script-enabled browser is required for this page to function properly.

Cursor Constraints

A database cursor is the memory that the ORACLE RDBMS assigns to a SQL command. This applies to the SQL commands that are implicit to posting and querying data and the SQL commands that are explicit in triggers.

The following table presents constraints that apply to database cursors.

Element

Constraint/Note

open cursors (maximum)

value of the OPEN_CURSORS parameter found in the INIT.ORA file

open cursors (minimum)

  • 5 per ORACLE connection.
  •  

  • 4 per runtime session when running against ORACLE or SQL*Connect.
  •  

     

  • 5 per block (1 for SELECT, 1 for UPDATE, 1 for INSERT, 1 for DELETE, and 1 for QUERY ).The first 4 listed are opened as needed. This restriction applies under normal circumstances, but it is possible to change the number of cursors by altering settings on the Set Options form or by using command line switches.One cursor for query is always opened for each block as needed and is never shared.
  •  

    open cursors (minimum)

  • 1 per record group created with query.
  •  

     

  • 1 cursor is used if database date or time default values ($$DBDATE$$) are referenced for any item.
  •  

     

  • 1 for any SQL statement.These can be in triggers, procedures, or functions. This restriction applies under normal circumstances, but it is possible to change the number of cursors by altering settings on the Set Options form or by using command line switches.
  •  



    Object Constraints