当前位置: 代码迷 >> Oracle开发 >> 求帮忙修改个自定义函数啊 不会弄了! 如何if else
  详细解决方案

求帮忙修改个自定义函数啊 不会弄了! 如何if else

热度:60   发布时间:2016-04-24 07:23:47.0
求帮忙修改个自定义函数啊!!!! 不会弄了!! 怎么if else啊
SQL code
  CREATE OR REPLACE FUNCTION "ETL_GET_111HS_CSTM_NO"(acode VARCHAR2)  RETURN VARCHAR2 is  pCM01CUSNO VARCHAR2(10);BEGIN  case    when exists (select 1            from sop_mir_cifm04           where cm04cusno is not null             and cm04acct = acode) then      select cm04cusno        into pCM01CUSNO        from sop_mir_cifm04       where cm04acct = acode         and cm04cusno is not null;    else      SELECT CM01CUSNO into pCM01CUSNO FROM CIFM01 where CM01ACCNO = acode;  end;  RETURN pCM01CUSNO;END;


怎么if else啊...

求大家帮助啊...

意思就是第一个表中 数据不为空的时候 拿第一个表中的数据项
如果第一个表的数据项为空
就return第二个表的数据项...

快帮助我哇!!!!!!!!!!!!!!!!!!!!!

------解决方案--------------------
CREATE OR REPLACE FUNCTION "ETL_GET_111HS_CSTM_NO"(acode VARCHAR2)
RETURN VARCHAR2 is
pCM01CUSNO VARCHAR2(10);
a1 varchar2(10);
a2 varchar2(10);
BEGIN
select cm04cusno into a1 from sop_mir_cifm04
where cm04cusno is not null
and cm04acct = acode ;

SELECT CM01CUSNO into a2 FROM CIFM01 where CM01ACCNO = acode;
return nvl(a1,a2);
END;



  相关解决方案