激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應(yīng)
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        全部產(chǎn)品
        您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

        Oracle 10g實現(xiàn)存儲過程異步調(diào)用

        發(fā)布時間:  2012/8/29 17:46:13

        DBMS_JOB是什么?
        DBMS_JOB是Oracle數(shù)據(jù)庫提供的專家程序包的一個.

        主要用來在后臺運行程序,是數(shù)據(jù)庫中一個極好的工具. 可用于自動調(diào)整調(diào)度例程任務(wù),例如分析數(shù)據(jù)表,執(zhí)行一些歸檔操作,清理草稿表等等.

        使用語法說明.
        使用DBMS_JOB主例程是SUBMIT例程, 對SUBMIT例程中的各變量含義說明:
        -
         

        JOB: 一個作業(yè)標識符,由系統(tǒng)來分配(OUT參數(shù)).

        WHAT: 將要運行的SQL文本,必須是有效的PL/SQL語句或一段代碼. 例如: 運行存儲過程P,可以傳遞字符串P;(包括分號)給這個例程。無論在WHAT參數(shù)中提交什么,將被封裝成如下PL/SQL塊:

        Declare

        Job Binary_Integer := :Job;

        Next_Date Date := :Mydate;

        Broken Boolean := False;

        Begin

        What

        :Mydate := Next_Date;

        If Broken Then :B := 1;

        Else :B := 0;

        End If;

        End;

        NEXT_DATE: 日期函數(shù)字符串,用來計算作業(yè)下次運行的時間.

        NO_PARSE: 確定WHAT參數(shù)在提交時是否進行有效性分析。

        INSTANCE: 只得在松耦合聚簇的機器上,在并行服務(wù)器模式(一個Oracle可以運行的模式)下才有意義,這將指定在哪個實例上作業(yè)可以執(zhí)行.

        FORCE: 只有在并行服務(wù)器模式下才有意義. 如設(shè)置為True(默認值),可以使用任何實例數(shù)據(jù)庫提交作業(yè), 如設(shè)置為False, 相關(guān)實例不可用,提交請求將失敗.

        在DBMS_JOB程序包中也有其它入口點. SUBMIT是用來調(diào)度作業(yè)的一個,其他的允許操作已調(diào)度的作業(yè),執(zhí)行操作,如RUN,REMOVE和CHANGE操作.

        示例
        設(shè)原有存儲過程為:pr_movedetail(業(yè)務(wù)存儲過程), 執(zhí)行大數(shù)據(jù)量操作, 操作耗時.

        利用DBMS_Job包功能, 將存儲過程的執(zhí)行集中提交給Oracle Job來處理, 客戶端無需等待.

        1. 創(chuàng)建一張表,包含每個參數(shù)的字段,再加一個ID主碼字段.

        Create Table run_movedetail

        (

        ID number primary key,

        Param1 varchar2(255),

        Param1 varchar2(255),

        RunDate Date

        )

        此表不僅作為將要提交的處理過程排隊的地方,而且當提交時,也可作為已提交處理過程保存永久日志的地方.

        2. 創(chuàng)建fast_movedetail存儲過程(創(chuàng)建作業(yè)ID及把各參數(shù)Insert到run_movedetail).

        create or replace procedure fast_movedetail(p_Param1 varchar2,p_Param2 varchar2)

        As

        L_job number;

        Begin

        dbms_job.submit(L_job,’background_movedetail(JOB);’);

        Insert into run_movedetail(ID,Param1,Parma2) values (L_job, p_Param1, p_Param2);

        End;

        該例程將提交一項作業(yè)background_movedetail,并且將它傳遞給JOB參數(shù).

        3. 創(chuàng)建background_movedetail存儲過程.

        Create or replace procedure background_movedetail(p_job in number)

        As

        L_rec run_movedetail%rowtype;

        Begin

        Select * into L_rec from run_movedetail where id = p_job;

        Pr_movedetail(L_rec.Param1,L_rec.Param2); //業(yè)務(wù)存儲過程調(diào)用

        Update run_movedetail set RunDate = sysdate where id = p_job;

        //調(diào)用實際使用的Pr_movedetail例程, 然后更新記錄,記錄實際提交時間.

        End;

        最后在客戶端直接調(diào)用fast_movedetail即可.


        本文出自:億恩科技【mszdt.com】

        服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

      2. 您可能在找
      3. 億恩北京公司:
      4. 經(jīng)營性ICP/ISP證:京B2-20150015
      5. 億恩鄭州公司:
      6. 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
      7. 億恩南昌公司:
      8. 經(jīng)營性ICP/ISP證:贛B2-20080012
      9. 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
      10. 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
      11. 專注服務(wù)器托管17年
        掃掃關(guān)注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務(wù)熱線