Oracle 下的自定義函式

2021-09-01 12:11:02 字數 1503 閱讀 7452

create or replace function my_lostday(

t_taskid in varchar2)

return varchar2 as

result varchar2(5);

finish varchar2(5);  --標識預警,黃牌,紅牌

t_taskreducedate date;

--查詢正在進行中的階段的時間

cursor cur_enddate is

select r.enddate

from t_business_task_reduce r, t_business_task t

where r.taskid = t.id

and t.id=t_taskid

and r.isfinishstate='1';

begin

finish:=0;

open cur_enddate; --開啟游標

loop

fetch cur_enddate --遍歷

into t_taskreducedate;

exit when cur_enddate%notfound; --當游標為空跳出

--當前時間沒有階段結束的

if(trunc(sysdate-t_taskreducedate)<=0) then

if finish!=0 then

finish:=finish;

end if;

if finish=0 then

finish:=0;

end if;

end if;

--預警

if(trunc(sysdate-t_taskreducedate)>0) and (trunc(sysdate-t_taskreducedate)<=3) then

if finish>=2 then

finish:=finish;

end if;

if finish<2 then

finish := 1;

end if;

end if;

--黃牌

if(trunc(sysdate-t_taskreducedate)>3) and (trunc(sysdate-t_taskreducedate)<=8) then

if finish>=3 then

finish:=finish;

end if;

if finish<3 then

finish := 2;

end if;

end if;

--紅牌

if(trunc(sysdate-t_taskreducedate)>8) then

finish := 3;

end if;

end loop;

close cur_enddate; --關閉游標

result:=finish;

return(result);

end my_lostday;

Oracle自定義函式

語法如下 create or replace function function name argment type,argment type return return type 返回資料的型別 變數的申明,比如 stryuan varchar2 150 begin function body 函...

oracle 自定義函式

下面是乙個前輩寫的判斷是否是手機號的函式 create or replace function ismobile pmsg varchar2 return number isvprefix varchar2 20 vlen number begin vlen lengthb pmsg if vlen...

Oracle自定義函式

二 刪除自定義函式 三 應用經驗 在oracle資料庫中,為了實現特定的功能,可以自定義函式,就像c c 語言,除了系統的庫函式,程式設計師還會編寫很多自定義的函式。create or replace function 函式名 引數1 模式 資料型別,return 資料型別 as 定義區域性變數。變...