A cursor is deletable if all of the following are true:
- The outer fullselect identifies only one base table or deletable view.
- The outer fullselect does not include a GROUP BY clause or HAVING clause.
- The outer fullselect does not include column functions in the select list.
- The outer fullselect does not include a UNION or UNION ALL operator.
- The outer fullselect does not include the DISTINCT clause.
- The select-statement contains an ORDER BY clause, and the FOR UPDATE OF clause or DYNAMIC SCROLL are specified.
- The select-statement does not include a FOR READ ONLY clause.
- The select-statement does not include a FETCH FIRST n ROWS ONLY clause.
- The result of the outer fullselect does not make use of a temporary table.
- The select-statement does not include the SCROLL keyword unless the DYNAMIC keyword is also specified.
- The select list does not includes a DATALINK column unless a FOR UPDATE OF clause is specified.
- A result column in the select list of the outer fullselect associated with a cursor is updatable if all of the following are true:
The cursor is deletable.
The result column is derived solely from a column of a table or an updatable column of a view. That is, at least one result column must not be derived from an expression that contains an operator, scalar function, constant, or a column that itself is derived from such expressions.
A cursor is read-only if it is not deletable.
Bookmarks