SQL Server - Transcribir Cursor de Oracle a Sql server 2008????

   
Vista:

Transcribir Cursor de Oracle a Sql server 2008????

Publicado por damprosys (1 intervención) el 06/04/2011 15:27:17
Hola muchachos, sucede que tengo un Cursor hecho en Oracle pero tengo que correrlo en una BD de Sql Server 2008, el problema es que debo trancribir el Script de Oracle a Sql para poder correrlo correctamente y la vedad no tengo mucha experiencia y no comprendo mucho de lo que dice el script de Oracle, si alguien me puede ayudar a traducirlo se lo voy a agradecer, lo dejo aca para que lo puedan ver!

Desde ya muchisimas gracias!!


declare

cursor registros is
select r.idases, r.estado, r.motivo, r.irresoluble, a.tipo_aud, a.auditado, r.iduser usuario, a.usuario usuario_aud, r.fecha fecha_modif, a.FECHA fecha_aud
from mer_90_1_r r, mer_90_1_au a
where r.idases=a.idases(+)
and (a.usuario is not null
or r.iduser is not null)
order by r.fecha, a.fecha;

aux_idsec number;
new_idsec number;
aux_existe number;
v_nrolote varchar2(5);
v_objnor varchar2(5);

begin

for a in registros loop

aux_existe:=0;

select count(*)
into aux_existe
from seguimiento_proyecto_db
where
idases=a.idases
and NVL(estado,'XX')=NVL(a.estado,'XX')
and NVL(motivo,'XX')=NVL(a.motivo,'XX')
and NVL(irresoluble,9)=NVL(irresoluble,9)
and NVL(tipo_aud,'XX')=NVL(a.tipo_aud,'XX')
and NVL(auditado,'XX')=NVL(a.auditado,'XX')
and NVL(usuario,'XX')=NVL(a.usuario,'XX')
and NVL(usuario_aud,'XX')=NVL(a.usuario_aud,'XX');

if aux_existe = 0 then

select max(idsec)
into aux_idsec
from seguimiento_proyecto_db
where idases=a.idases;

new_idsec:= aux_idsec+1;

insert into seguimiento_proyecto_db
(idsec, idases, fecha_ult_seguimiento, estado, motivo, irresoluble, tipo_aud, auditado, usuario, usuario_aud, fecha_modif, fecha_aud)
values
(new_idsec,a.idases,sysdate,a.estado, a.motivo, a.irresoluble, a.tipo_aud, a.auditado, a.usuario, a.usuario_aud, a.fecha_modif, a.fecha_aud);
end if;

end loop;

commit;

end;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder