Cuando lanzamos un cursor y queremos realizar un update de uno de los campos de este cursor,
podemos hacerlo realizando un update normal, solo que en este caso el costo del update sería relativamente grande, segun la consulta y los datos de almacenados en la tabla, del modo abajo indicado, nos ahorramos el paso de tener que buscar el dato a actualizar, ya que lo que hacemos es un puntero al registro actual del cursor.
(este sistema tiene un problema, el cursor permanecerá bloqueando la información durante el proceso de recorrido.)
DECLARE
Cursor c1 SELECT *
FROM TABLA
FOR UPDATE CAMPOA
BEGIN
FOR var IN C1 LOOP
IF cualquierCondicion THEN
UPDATE TABLA
SET CAMPOA='COR'
WHERE CURRENT OF C1;
END IF;
END LOOP;
END;
No hay comentarios:
Publicar un comentario