--個人留作筆記
create or replace procedure ykt_exception(
p_jyrq in varchar2 ,p_jysj in varchar2,p_kh in varchar2, p_wid in varchar2, p_xh in varchar2 ,p_jyje in NUMBER)
as
S_TIME varchar2(50); --開始時間
a_count int; --總記錄數
a_amout NUMBER; --當天消費總金額
BEGIN
--查詢當天消費總金額
select sum(JYJE) into a_amout from t_ykt_grjyjl where KH = p_kh and JYLX =0 and JYRQ = p_jyrq;
a_amout := a_amout+p_jyje;
--如果當天消費金額超過50,那麼不執行查找的功能
if a_amout>50 then
commit;
return;
end if;
--查詢十分鐘前的時間
select TO_CHAR((to_date(p_jyrq||' '||p_jysj ,'yyyy-mm-dd,hh24:mi:ss') - 10/(60*24)),'hh24:mi:ss') into S_TIME from dual;
--查詢十分鐘符合條件消費的記錄數
select count(wid) into a_count from t_ykt_grjyjl a
where jylx =0
and kh = p_kh
and jyrq = p_jyrq
and jysj > S_TIME
and instr(jydd,'浴室')=0;
if a_count >= 2 then
--插入異常表
insert into T_YKT_EXCEPTION values (p_wid, p_kh,p_xh,p_jyrq,p_jysj,0);
end if ;
commit;
End;