数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle自定义函数


发布日期:2021年09月13日
 
Oracle自定义函数

判断任务过期时间

create or replace function GetUrgentState(m_TaskID varchar

m_SendTime date

m_flag varchar)

return varchar IS

myDate date;

ExpireTime date;

strsql varchar();

begin

myDate := m_SendTime;

strsql := select max(EXPIRETIME) from t_wf_supervise where TASKID = ||

m_TaskID || ;

execute immediate strsql

into ExpireTime;

没有到期时间 就是正常状态

if ExpireTime is null then

if m_flag = String then

return 正常;

end if;

if m_flag = Img then

return cb_executegif;

end if;

end if;

未发送任务就是判断当前时间

if m_SendTime is null then

myDate := sysdate;

end if;

if ExpireTime < myDate then

if m_flag = String then

return 超期;

end if;

if m_flag = Img then

return cb_limitgif;

end if;

end if;

小于天的任务预警

if ExpireTime myDate < then

if m_flag = String then

return 预警;

end if;

if m_flag = Img then

return cb_warninggif;

end if;

else

if m_flag = String then

return 正常;

end if;

if m_flag = Img then

return cb_executegif;

end if;

end if;

end;

查询其它表数据

create or replace function GetPreNode(m_PreTaskID varchar) return varchar IS

nodename varchar();

strsql varchar();

begin

if m_PreTaskID is null then

return ;

end if;

strsql := select max(nodename) from t_Wf_Tasklist where TaskID = ||

m_PreTaskID|| ;

execute immediate strsql

into nodename;

return nodename;

end;

格式化标题输出

create or replace function FormatTitle(m_title varchar

m_length number

m_FillChar varchar) return varchar IS

begin

if lengthb(m_title) > m_length* then

return substr(m_title m_length) || m_FillChar;

else

return m_title;

end if;

end;

上一篇:通过使用Oracle商务智能保持住了客户们

下一篇:数据库手册:Oracle维护常用SQL语句一