Fetching Cursors that have Keywords as Names
In a few situations, no workaround exists for the syntactic ambiguity that occurs when a keyword is used as an identifier in an SQL program.
In the following example, the FETCH statement specifies a cursor
named next. The FETCH statement generates a syntax error because
the preprocessor interprets next as a keyword, signifying the
next row in the active set and expects a cursor name to follow next.
This occurs whenever the keyword NEXT, PREVIOUS, PRIOR, FIRST, LAST,
CURRENT, RELATIVE, or ABSOLUTE is used as a cursor name:
/* This code fragment fails */
EXEC SQL declare next cursor for
select customer_num, lname from customer;
EXEC SQL open next;
EXEC SQL fetch next into :cnum, :lname;