Cursors are SQL memory structures that point to a result set and allow the application to process multiple rows one at a time. Host variables, indicator variables, and the SQLCA (SQL Communication Area) are used for data exchange, null handling, and error checking, not row iteration.