Effects of updates and deletes on join cursors

When a searched or positioned delete command is issued on the row at the cursor position of a cursor that includes a join, there can be one of two results:

When a searched or positioned update command is issued on the join columns of a cursor:

Table 19-5 shows how delete and update commands affect join cursors. “Left open” indicates that the cursor is not closed by the update. The cursor is still positioned on the row, so positioned updates can still be made, and the next fetch also succeeds.

Table 19-5: Effects of deletions and join column updates in join cursors

Allpages-locked

Data-only-locked

delete commands

Positioned direct delete

Error 592

Error 592

Searched direct delete

Error 582

Error 582

Searched deferred delete

Error 582

Error 582

Searched delete affecting clustered index (deferred)

Error 582

Error 582

update commands

Positioned direct update

Left open

Left open

Searched direct update

Left open

Left open

Searched deferred update

Left open

Left open

Searched update affecting clustered index (deferred)

Aggregate 582

Left open