次の例は、アプリケーション・プログラムでのカーソル制御文の一般的な順序を示しています。
...
/* define a cursor */
EXEC SQL DECLARE emp_cursor CURSOR FOR
SELECT ename, job
FROM emp
WHERE empno = :emp_number
FOR UPDATE OF job;
/* open the cursor and identify the active set */
EXEC SQL OPEN emp_cursor;
/* break if the last row was already fetched */
EXEC SQL WHENEVER NOT FOUND DO break;
/* fetch and process data in a loop */
for (;;)
{
EXEC SQL FETCH emp_cursor INTO :emp_name, :job_title;
/* optional host-language statements that operate on
the FETCHed data */
EXEC SQL UPDATE emp
SET job = :new_job_title
WHERE CURRENT OF emp_cursor;
}
...
/* disable the cursor */
EXEC SQL CLOSE emp_cursor;
EXEC SQL COMMIT WORK RELEASE;
...