No utilizo los cursores, acostumbro a hacerlo todo con SELECTS directas, pero creo que necesitas declarar el cursor como actualizable
DECLARE nombreCursor CURSOR
[LOCAL | GLOBAL]
[FORWARD_ONLY | SCROLL]
[STATIC | KEYSET | DYNAMIC | FAST_FORWARD]
[READ_ONLY | SCROLL_LOCKS | OPTIMISTIC]
[TYPE_WARNING]
FOR instrucciónSELECT
[FOR UPDATE [OF nombreColumna [,...n]]]
Esa es la sintaxis completa, supongo que después de tu select, deberías poner FOR UPDATE, puede que también necesites especificar la columna, pero no es seguro
Un saludo