Effects of updates and deletes on join cursors

When a searched or positioned delete 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 is issued on the join columns of a cursor:

Table 18-2 shows how delete and update commands affect join cursors.

In this table, “Left open” means 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 18-2: Effects of deletes 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)

Error 582

Left open