In SQL database systems, a "cursor" refers to a mechanism for retrieving data from the "current record" of a table. Recordset-type methods can be used with this such as "move to next record", "move to first record", etc.

From a SQL purist point of view, using this approach should be avoided. The SQL interpreter/optimizer should be allowed to do its job of providing efficient retrieval of the data that is sought, and an application's SQL queries should be written to retrieve exactly the data that is required, no more, no less.

See also: iterator (thanks StrawberryFrog)