SQL - SQL contra DB2

 
Vista:

SQL contra DB2

Publicado por Jonathan (2 intervenciones) el 22/05/2005 14:45:39
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

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

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

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder