1. 程式人生 > >Oracle job procedure 儲存過程定時任務

Oracle job procedure 儲存過程定時任務

1、broken()過程更新一個已提交的工作的狀態,典型地是用來把一個已破工作標記為未破工作。這個過程有三個引數:job 、broken與next_date。 
procedure broken ( 
  job IN binary_integer, 
  broken IN boolean, 
  next_date IN date := SYSDATE 
) 
job引數是工作號,它在問題中唯一標識工作。 
broken引數指示此工作是否將標記為破——true說明此工作將標記為破,而false說明此工作將標記為未破。 
next_date引數指示在什麼時候此工作將再次執行。此引數預設值為當前日期和時間。

job如果由於某種原因未能成功執行,oracle將重試16次後,還未能成功執行,將被標記為broken,重新啟動狀態為broken的job,有如下兩種方式; 
a、利用dbms_job.run()立即執行該job 
begin 
  dbms_job.run(:job) --該job為submit過程提交時返回的job number或是去dba_jobs去查詢對應job的編號 
end;

b、利用dbms_job.broken()重新將broken標記為false 
begin 
  dbms_job.broken (:job, false, next_date) 
end;

2、change()過程用來改變指定job的設定。 
這個過程有四個引數:job、what 、next_date、interval。 
procedure change ( 
    job IN binary_integer, 
    what IN varchar2, 
    next_date IN date, 
    interval IN varchar2 
) 
此job引數是一個整數值,它唯一標識此工作。 
what引數是由此job執行的一塊PL/SQL程式碼塊。 
next_date引數指示何時此job將被執行。 
interval引數指示一個job重執行的頻度。

3、interval()過程用來顯式地設定重複執行一個job之間的時間間隔數。 
這個過程有兩個引數:job、interval。 
procedure interval( 
    job IN binary_integer, 
    interval IN varchar2 
) 
job引數標識一個特定的工作。 
interval引數指示一個工作重執行的頻度。

4、isubmit()過程用來用特定的job號提交一個job。 
這個過程有五個引數:job、what、next_date、interval、no_parse。 
procedure isubmit ( 
    job IN binary_ineger, 
    what IN varchar2, 
    next_date IN date, 
    interval IN varchar2, 
    no_parse IN booean := FALSE 
) 
這個過程與submit()過程的唯一區別在於此job引數作為IN型引數傳遞且包括一個由開發者提供的job號。如果提供的job號已被使用,將產生一個錯誤。

5、next_date()過程用來顯式地設定一個job的執行時間。這個過程接收兩個引數:job、next_date。 
procedure next_date( 
    job IN binary_ineger, 
    next_date IN date 
) 
job標識一個已存在的工作。 
next_date引數指示了此job應被執行的日期、時間。

6、remove()過程來刪除一個已計劃執行的job。這個過程接收一個引數: 
procedure remove(job IN binary_ineger); 
job引數唯一地標識一個工作這個引數的值是由為此工作呼叫submit()過程返回的job引數的值,已正在執行的job不能刪除。

7、run()過程用來立即執行一個指定的job。這個過程只接收一個引數: 
procedure run(job IN binary_ineger) 
job引數標識將被立即執行的工作。

8、使用submit()過程,job被正常地計劃。上面以講述

9、user_export()過程返回一個命令,此命令用來安排一個存在的job以便此job能重新提交。此程式有兩個引數:job、my_call。 
procedure user_export( 
    job IN binary_ineger, 
    my_call IN OUT varchar2 
) 
job引數標識一個安排了的工作。 
my_call引數包含在它的當前狀態重新提交此job所需要的正文。

10、what()過程應許在job執行時重新設定此正在執行的命令。這個過程接收兩個引數:job、what。 
procedure what ( 
    job IN binary_ineger, 
    what IN OUT varchar2 
) 
job引數標識一個存在的工作。 
what引數指示將被執行的新的PL/SQL程式碼。實現的功能:每隔一分鐘自動向getSysDate表中插入當前的系統時間。

相關推薦

Oracle job procedure 儲存過程定時任務

1、broken()過程更新一個已提交的工作的狀態,典型地是用來把一個已破工作標記為未破工作。這個過程有三個引數:job 、broken與next_date。 procedure broken ( job IN binary_integer, broken IN boolean,

Oracle job procedure 儲存過程定時任務及可能停止定時任務的原因分析

--相關檢視select * from dba_jobs;select * from all_jobs;select * from user_jobs;-- 查詢欄位描述/*欄位(列) 型別 描述JOB NUMBER

mysql資料庫超時自動改變訂單狀態 儲存過程 定時任務的運用

DELIMITER | DROP PROCEDURE IF EXISTS e_test |CREATE PROCEDURE e_test() BEGIN update hb_hongbao set addtime=SYSDATE(15) where SYSDATE(15)>over_time and

Oracle通過Job呼叫儲存過程

 這是本人第一次處理Oracle的儲存過程以及計劃任務(job)的事情;期間遇到了很多問題在此將這次試用job呼叫自己的編寫的儲存過程的過程中遇到的問題做一總結; 任務:實時採集系統會每5分鐘給中心繫統傳送一個流量資料,但是沒有給出累計流量資料; 1、編寫一個儲存過程W

oracle簡單的儲存過程以及job示例

最近需要oracle迴圈定時執行一段sql語句,然後需要建立儲存過程,本人的sql語句屬於DML語句,步驟如下: 1、建立儲存過程 create or replace procedure cube_day as begin insert into prov_day_wea

Oracle Procedure 儲存過程

Oracle Procedure 一、塊 塊是pl/sql組成的基本單元,本篇講述儲存過程,鑑於2者有很高的相似性,且是其中一種塊,所以在此做一個簡單的塊講述 1、塊的結構 declare   定義部分(可選) begin   可執行部分(必選) exception   異

oracle儲存過程定時執行簡單例子

/*插入天氣語句*/ INSERT INTO ENERGY.WEATHER VALUES(SEQ_WEATHER.nextVal,sysdate,'多雲轉晴','24','30','西南風','南風','微風','4','2','70','89','420','','適合旅

Oracle中的儲存過程簡單例子

---建立表 create table TESTTABLE (   id1  VARCHAR2(12),   name VARCHAR2(32) ) select t.id1,t.name from TESTTABLE t insert into TESTTABLE

測試技能:在oracle中自用儲存過程進行測試資料構造

一、實踐 –迴圈賦值 declare i integer; –定義變數 begin i := 101; loop /* 插入資料 */ insert into emp (EMP_ID, E_ID, UM_ID, NAME, BIRTHDAY, A

oracle 自定義儲存過程

語法 建立 TYPE 型別 atrr_type CREATE OR REPLACE TYPE atrr_type AS OBJECT ( attrId varchar2(40),

Oracle中建立儲存過程和呼叫過程(一)

1、定義         所謂儲存過程(Stored Procedure),就是一組用於完成特定資料庫功能的SQL語句集,該SQL語句集經過 編譯後儲存在資料庫系統中。在使用時候,使用者通過指定已經定義的儲存過程名字並給出相應的儲存過程引數 來呼叫並執行

Oracle 函式和儲存過程的區別和聯絡 總結版

  oracle儲存過程與函式的區別 2017年08月15日 22:49:38 冷月葬花魂iiii 閱讀數:7800更多 個人分類: oracle 定義: 儲存過程(Stored Procedure )是一組為了完成特定功能的SQL 語句集

Oracle與DB2儲存過程不同之處

文章主要描述的是Oracle資料庫與DB2儲存過程的不同之處,假如你對Oracle資料庫與DB2儲存過程的不同之處差異心存好奇的話,你就可以對以下的文章點選觀看了,以下就是文章的詳細內容介紹,望大家借鑑。 Oracle與DB2儲存過程的差異 (1)儲存過程本質還是由SQL語

oracle中print_table儲存過程介紹

SQL> set serveroutput on size 99999;SQL> execute print_table('select * from v$session where sid=997');SADDR                         : 000000085FA35CA

oracle中呼叫儲存過程

儲存過程的呼叫 增加,修改,刪除的儲存過程呼叫 帶輸入引數的儲存過程呼叫 帶輸出引數的儲存過程的呼叫:此處以登入成功還是失敗為例.返回0 或者1 增加,修改,刪除的儲存過程呼叫

ORACLE函式以及儲存過程學習篇

Oracle 自定義函式 Create function 函式名稱 return 返回值型別 as Begin … End 函式名稱; 自定義簡單的函式: 定義無引數函式 create function bookCount return number as begi

使用JavaScript和Python實現Oracle資料庫的儲存過程

本文研究了多語言引擎(MLE)如何在GraalVM的幫助下在Oracle資料庫中使用JavaScript和Python,為資料密集型計算帶來巨大的生態系統。使用GraalVM,我們不僅可以快速將新語言引入Oracle資料庫,而且還可以輕鬆獲得高效能的推測JIT編譯器。它可用於為查詢的關鍵部分生成有效

C#連線Oracle資料庫通過儲存過程操作資料庫

之前筆者一直用C#連線SQL Server資料庫。近期由於工作需要,需要用C#連線Oracle資料庫,並且要通過儲存過程,來操作資料庫中的資料,實現增、刪、改、查(有分頁功能)功能。並且,為了今後對資料庫擴充套件方便,對現在的程式碼改動最小的情況下,實現資料庫的平穩切換,必須

Oracle如何執行儲存過程

示例:有如下建立索引的儲存過程 --procedure create_index create or replace procedure create_index(indexName in varch

DB2(Procedure)儲存過程遍歷迴圈!

由於有時候一些複雜的業務邏輯將要通過儲存過程的迴圈語句進行處理;以下列出2種DB2儲存過程的迴圈語句,方便以後的檢視並使用! 本人推薦第一種方式的使用,最大的優點就是比較直觀;在需要操作很多欄位的