Oracle jobs脚本、调用存储过程


今天要做一个每间隔5秒钟就要更新一下状态字段的功能、老大建议用jobs条用存储过程的方式来实现。然而自己从来没有弄过什么jobs跟Oralce的存储过程。杯具就这样发生了、弄了一天才弄好。

我要实现的功能就是查询会议室资源、看看是否被占用、或者是被锁定。被占用时显示已占用图标跟信息、被锁定时显示已锁定图标跟信息。

存储过程:

  1. CREATE OR REPLACE PROCEDURE hzwstatusupdate is   
  2.   
  3.     meetId number; --会议室编号   
  4. begin   
  5.   
  6.   meetId :0 ;   
  7.   for varCode in (select huiyishi from Tbmeetmgr where   
  8.         to_date(stoptime,'yyyy-MM-dd') = to_date(to_char(sysdate,'yyyy-MM-dd'),'yyyy-MM-dd')   
  9.           and to_date(to_char(sysdate,'hh24:mi'),'hh24:mi') between to_date(starttime,'hh24:mi')   
  10.           and to_date(endtime,'hh24:mi'))   
  11.   loop   
  12.   
  13.      meetId:=varCode.Huiyishi;   
  14.      update tbmeetroom set status = 1 where id = meetId ;   
  15.      commit;   
  16.   end loop;   
  17.          
  18.   if meetId <= 0 then   
  19.      update tbmeetroom set status = 0 where status = 1 ;   
  20.      commit;   
  21.   end if ;   
  22.   
  23.   for varCode in (select meetroomid from Tbmeetroomlock t where   
  24.         to_date(to_char(sysdate,'yyyy-MM-dd hh24:mi'),'yyyy-MM-dd hh24:mi')   
  25.         between to_date(lockstarttime,'yyyy-MM-dd hh24:mi')   
  26.         and to_date(lockendtime,'yyyy-MM-dd hh24:mi'))   
  27.   loop   
  28.       meetId:=varCode.Meetroomid;   
  29.       update tbmeetroom set status = 2 where id = meetId ;   
  30.       commit;   
  31.   end loop;   
  32.      
  33.   if meetId <= 0 then   
  34.      update tbmeetroom set status = 0 where status = 2 ;   
  35.      commit;   
  36.   end if ;   
  37.      
  38.   
  39. end;  

jobs脚本:

jobs脚本配置信息

页面代码:

view plaincopy to clipboardprint?

  1. function lockDiaoYong(){   
  2.             var idArr = "";   
  3.             jQuery("input[id^='hiddMentId']").each(function(i) {   
  4.                 var idName = jQuery(this).val();   
  5.                 idArr = idArr+ idName +",";   
  6.             });   
  7.             if(idArr !="" && idArr != null){   
  8.                 var urlL = "<%=path%>/platform/mgrmeet!getLockandMgr.action?idArr="+idArr;   
  9.                 $.ajax({      
  10.                               type: "get"//用get方式传输    
  11.                               url:urlL,      //目标地址      
  12.                               async:false,    
  13.                               success:function(data) {   
  14.                                   if(data != "没有" && data != "" && data != null){   
  15.                                       if(data.indexOf("|") != -1){   
  16.                                           var strarr = data.split("|");   
  17.                                           var arrId = strarr[0].split(",");   
  18.                                           var arrSta = strarr[1].split(",");   
  19.                                           for(var i = 0 ; i < arrId.length; i++){   
  20.                                                if(arrSta[i] == 1 || arrSta[i] == "1" ){   
  21.                                                    document.getElementById("showImg"+arrId[i]).src = "<%=path%>/images/syz.jpg";   
  22.                                                }   
  23.                                                if(arrSta[i] == 2 || arrSta[i] == "2" ){   
  24.                                                    document.getElementById("showImg"+arrId[i]).src = "<%=path%>/images/sd.jpg";   
  25.                                                }   
  26.                                           }   
  27.                                       }   
  28.                                   }   
  29.                               }    
  30.                 });    
  31.             }   
  32.         }   
  33.            
  34.         function timeDiaoYong(){   
  35.             var date = new Date(); //日期对象   
  36.             lockDiaoYong();   
  37.             setTimeout("timeDiaoYong()",60000); //设置过1000毫秒就是1秒,调用timeDiaoYong()方法   
  38.         }   
  39.   
  40. <mce:script type="text/javascript"><!--   
  41.     window.onload=function(){   
  42.         timeDiaoYong();   
  43.     }   
  44. // --></mce:script>  

java后台代码:

  1. public String getLockandMgr() throws IOException{   
  2.         request.setCharacterEncoding("UTF-8");   
  3.         response.setContentType("text/html;charset=UTF-8");   
  4.         String idarr = request.getParameter("idArr");   
  5.         List list = new ArrayList();   
  6.         String resultId = "";   
  7.         String resultSt = "";   
  8.         if (idarr != null && !idarr.equals("")) {   
  9.             String[] siptarr = idarr.split(",");   
  10.             int len = siptarr.length ;   
  11.             Long[] lo = new Long[len];   
  12.             for (int i = 0; i < len; i++) {   
  13.                 lo[i] =  Long.valueOf(siptarr[i]);   
  14.             }   
  15.             list = mgrService.getMeetById(lo);   
  16.         }   
  17.            
  18.         int siz = list.size();   
  19.         PrintWriter out = response.getWriter();   
  20.         if(list != null && siz > 0){   
  21.             for (int i = 0; i < siz ; i++) {   
  22.                 Object[] obj = (Object[]) list.get(i);    
  23.                 resultId += obj[0] +",";   
  24.                 resultSt += obj[1] +",";   
  25.             }   
  26.             String resultNum = resultId+"|"+resultSt;   
  27.             out.print(resultNum);   
  28.         }else{   
  29.             out.print("没有");   
  30.         }   
  31.         return null;   
  32.     }  
  • 1
  • 2
  • 下一页

相关内容