oracle中使用函数控制过程是否执行(结合job使用)

oracle中使用函数控制过程是否执行(结合job使用时候,循环时间不好写的时候,可以此种方法比较方便

CREATE OR REPLACE FUNCTION wsbs_pk_date_validate(pi_aae036 IN varchar2) RETURN VARCHAR2
IS
V_DATE_MONTH VARCHAR2(100);
V_DATE_DAY VARCHAR2(100);
PO_MSG VARCHAR2(100);
BEGIN
PO_MSG:='OK';
--获取当前几号
SELECT substr(pi_aae036,7,8) into V_DATE_MONTH FROM dual;
SELECT to_char(sysdate, 'dy') into V_DATE_DAY FROM dual;
IF TO_NUMBER(V_DATE_MONTH)=26 THEN --如果是26号 最后一次扣款 时间不管是星期几都进行最后一次扣款
return PO_MSG;
END IF;
IF TO_NUMBER(V_DATE_MONTH)>26 THEN
PO_MSG:='每月超过26号不允许在产生批扣数据';
END IF;
IF (V_DATE_DAY='星期五' OR V_DATE_DAY='星期六' OR V_DATE_DAY='星期日') THEN
PO_MSG:='每周星期五、星期六、星期日不允许在产生批扣数据';
END IF;
return PO_MSG;
END;

猜你喜欢

转载自www.cnblogs.com/weiyi1314/p/10329093.html