AYUDA POR FAVOR (DB2-ORACLE
Publicado por JONATHAN (1 intervención) el 20/05/2005 09:38:00
Hola a todos
Necesitaria ayuda por favor ya que haga lo que hago no puedo ejecutar la siguiente funcion que os expongo, La funcion esta en Oracle necesitaria ayuda por favor para pasarla a DB2 MUCHISIMAS GRACIAS A TODOS Y SI ne cesitais algo de ayuda con cualuiqer otra cosa me comentas ;) es que en DB2 no se mucho. Nota: Obviar donde pone Varchar2, number... ya que en Db2 pongo varchar, numeric... Repito Muchas Gracias
CREATE OR REPLACE FUNCTION findTransaction (kw varchar2, revision number, fecha date,eitem number)
RETURN varchar2 is
kw_return varchar2(100);
begin
/* Si se trata del Kw de una revision se devolvera la transaccion asociada
Si se trata del kw de una variante se devolvera el kw de la ultima transaccion
si se trata de un editor o revision activa si se trata de un visor */
BEGIN
if eitem = 1
then
select EITEMCVT_KW into kw_return from eitemcvt where eitemcvr_kw like kw;
else
select DOCCVT_KW into kw_return from doccvt where doccvr_kw like kw;
end if;
EXCEPTION WHEN NO_DATA_FOUND THEN
BEGIN
/* Ultima transaccion*/
if (revision = 0)
then
if (eitem = 1)
then
select eitemcvt_kw into kw_return from eitemcvt where eitemcv_kw like kw and
orda = (select max(orda) from eitemcvt where eitemcv_kw like kw);
else
select doccvt_kw into kw_return from doccvt where doccv_kw like kw and
orda = (select max(orda) from doccvt where doccv_kw like kw);
end if;
else
/*Revision activa en para una determinada fecha*/
if (eitem = 1)
then
select t.eitemcvt_kw into kw_return from eitemcvt t
where eitemcv_kw=kw and
eitemcvr_kw is not null and
datefrom <= fecha and
(dateto >= fecha or dateto is null);
else
select t.doccvt_kw into kw_return from doccvt t
where doccv_kw=kw
and doccvr_kw is not null and
datefrom <= fecha and
(dateto >= fecha or dateto is null);
end if;
end if;
EXCEPTION WHEN NO_DATA_FOUND THEN
kw_return:= null;
END;
END;
return kw_return;
end findTransaction;
Necesitaria ayuda por favor ya que haga lo que hago no puedo ejecutar la siguiente funcion que os expongo, La funcion esta en Oracle necesitaria ayuda por favor para pasarla a DB2 MUCHISIMAS GRACIAS A TODOS Y SI ne cesitais algo de ayuda con cualuiqer otra cosa me comentas ;) es que en DB2 no se mucho. Nota: Obviar donde pone Varchar2, number... ya que en Db2 pongo varchar, numeric... Repito Muchas Gracias
CREATE OR REPLACE FUNCTION findTransaction (kw varchar2, revision number, fecha date,eitem number)
RETURN varchar2 is
kw_return varchar2(100);
begin
/* Si se trata del Kw de una revision se devolvera la transaccion asociada
Si se trata del kw de una variante se devolvera el kw de la ultima transaccion
si se trata de un editor o revision activa si se trata de un visor */
BEGIN
if eitem = 1
then
select EITEMCVT_KW into kw_return from eitemcvt where eitemcvr_kw like kw;
else
select DOCCVT_KW into kw_return from doccvt where doccvr_kw like kw;
end if;
EXCEPTION WHEN NO_DATA_FOUND THEN
BEGIN
/* Ultima transaccion*/
if (revision = 0)
then
if (eitem = 1)
then
select eitemcvt_kw into kw_return from eitemcvt where eitemcv_kw like kw and
orda = (select max(orda) from eitemcvt where eitemcv_kw like kw);
else
select doccvt_kw into kw_return from doccvt where doccv_kw like kw and
orda = (select max(orda) from doccvt where doccv_kw like kw);
end if;
else
/*Revision activa en para una determinada fecha*/
if (eitem = 1)
then
select t.eitemcvt_kw into kw_return from eitemcvt t
where eitemcv_kw=kw and
eitemcvr_kw is not null and
datefrom <= fecha and
(dateto >= fecha or dateto is null);
else
select t.doccvt_kw into kw_return from doccvt t
where doccv_kw=kw
and doccvr_kw is not null and
datefrom <= fecha and
(dateto >= fecha or dateto is null);
end if;
end if;
EXCEPTION WHEN NO_DATA_FOUND THEN
kw_return:= null;
END;
END;
return kw_return;
end findTransaction;
Valora esta pregunta


0