Como se utilozan los cursores en un script

Hola tengo un gran problema espero puedan ayudarme, tengo dos tablas por y z y quiero hacer un update de la tabla por a la z pero de varios registros, esto cuando la llave principal sean iguales en ambas tablas... Pero no he podido hacer el script... Me manda un error y no lo he encontrado, este es el código... Si alguien pudiera ayudarme
Declare
CURSOR compu IS
SELECT tme_object_label,SUBSTR(fecha_capitalizacion,8,4),
valor_neto_inicial
FROM compu_costo;
dat_cve compu_costo.tme_object_laber%TYPE;
dat_fec compu_costo.fecha_capitalizacion%TYPE;
dat_cost compu_costo.valor_neto_inicial%TYPE;
BEGIN
OPEN compu;
LOOP
FETCH compu INTO dat_cve;
FETCH compu INTO dat_fec;
FETCH compu INTO dat_cost;
UPDATE ticomputadora
SET anio_adqui := dat_fec;
costo_adq := dat_costo
WHERE cve_compu = dat_cve;
END LOOP;
CLOSE compu;
END;
Gracias...

1 respuesta

Respuesta
Declare
CURSOR compu IS
SELECT tme_object_label LABEL, SUBSTR(fecha_capitalizacion,8,4) FECHA, valor_neto_inicial NETO
FROM compu_costo;
CON EL FOR NI ABRES EL CURSOR , NO DECLARAS VARIABLES.
BEGIN OPEN compu;
FOR R_REG INTO CURSOR LOOP
UPDATE ticomputadora
SET anio_adqui := r_reg.FECHA;
costo_adq := r_reg,NETO
WHERE cve_compu = r_reg.LABEL;
END LOOP;
END;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas