create or replace function is_complete_cause_data (acct_year in varchar2,comp_code in varchar2,copy_code in varchar2,cause_code in varchar2, type_code int)
return varchar2 as
begin
declare result varchar2
if type_code :=1
begin
if exists(select 1 from HTCP_WORK_CAUSE_DATA where ACCT_YEAR=acct_year and COMP_CODE=comp_code
and COPY_CODE=copy_code and WORK_CAUSE_CODE=cause_code)
begin
set result='已完成'
end;
else
begin
set result='未完成'
end;
end;
else
begin
if exists(select 1 from HTCP_RES_CAUSE_DATA where HTC_ACCT_YEAR=acct_year and HTC_COMP_CODE=comp_code
and HTC_COPY_CODE=copy_code and RES_CAUSE_CODE=cause_code)
begin
set result='已完成'
end;
else
begin
set result='未完成'
end;
end;
return result
end;
uj5u.com熱心網友回復:
if exists(select ... )要用這樣的塊來代替:
v_count :=0 ;
select count(*) into v_count from t where ....
if (v_count > 0) then
-- TODO
end if ;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/103437.html
標籤:高級技術
上一篇:跪求各位大神,如何在ORACLE 存盤程序中 想使用游標實作下列SELECT 陳述句 應該怎么寫啊?
下一篇:求sql
