国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

ORACLE特殊包和DBMS_Job包的用法

2024-08-29 13:42:19
字體:
來源:轉載
供稿:網友
Oracle提供了幾個包,它們可以用來完成很多任務,從內部進程通信到文件I/O,到在PL/SQL塊中動態創建和執行SQL語句。所有這些包由SYS用戶所擁有—當Oracle最初安裝時兩個用戶中的一個,這些包中最重要的包括:
  
    DBMS_Alert 不用輪詢就答應應用命名并發出警告條件信號的過程與函數
    DBMS_DDL 答應獲取PL/SQL程序內部一定數量的DDL語句的過程
    DBMS_Describe 為存儲過程與函數描述API的過程
    DBMS_Job 治理BLOBs、CLOBs、NCLOBs與BFILEs的過程與函數
    DBMS_Output 答應PL/SQL程序生成終端輸出的過程與函數
    DBMS_Pipe 答應數據庫會話使用管道通信(通信頻道)的過程與函數
    DBMS_SQL 在PL/SQL程序內部執行動態SQL的過程與函數
    DBMS_Utility DBMS_Utility
    UTL_File 答應PL/SQL程序讀寫服務器文件系統上的文本文件的過程與函數
  DBMS_Job包的用法
  
  包含以下子過程:
  Broken()過程。
  change()過程。
  Interval()過程。
  Isubmit()過程。
  Next_Date()過程。
  Remove()過程。
  Run()過程。
  Submit()過程。
  User_EXPort()過程。
  What()過程。
  
  1、Broken()過程更新一個已提交的工作的狀態,典型地是用來把一個已破工作標記為未破工作。
  這個過程有三個參數:job 、broken與next_date。
  
  PROCEDURE Broken (job IN binary_integer,
  Broken IN boolean,
  next_date IN date :=SYSDATE)
  
  job參數是工作號,它在問題中唯一標識工作。
  broken參數指示此工作是否將標記為破——TRUE說明此工作將標記為破,而FLASE說明此工作將標記為未破。
  next_date參數指示在什么時候此工作將再次運行。此參數缺省值為當前日期和時間。
  
  2、Change()過程用來改變指定工作的設置。
  這個過程有四個參數:job、what 、next_date與interval。
  
  PROCEDURE Change (job IN binary_integer,
  What IN varchar2,
  next_date IN date,
  interval IN varchar2)
  
  此job參數是一個整數值,它唯一標識此工作。
  What參數是由此工作運行的一塊PL/SQL代碼塊。
  next_date參數指示何時此工作將被執行。
  interval參數指示一個工作重執行的頻度。
  
  3、Interval()過程用來顯式地設置重執行一個工作之間的時間間隔數。
  這個過程有兩個參數:job與interval。
  
  PROCEDURE Interval (job IN binary_integer,
  Interval IN varchar2)
  
  job參數標識一個特定的工作。interval參數指示一個工作重執行的頻度。
  
  4、ISubmit()過程用來用特定的工作號提交一個工作。
  這個過程有五個參數: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型參數傳遞且包括一個
  由開發者提供的工作號。假如提供的工作號已被使用,將產生一個錯誤。
  5、Next_Date()過程用來顯式地設定一個工作的執行時間。這個過程接收兩個參數:job與next_date。
  
  PROCEDURE Next_Date(job IN binary_ineger,
  next_date IN date)
  
  job標識一個已存在的工作。next_date參數指示了此工作應被執行的日期與時間。
  
  6、Remove()過程來刪除一個已計劃運行的工作。這個過程接收一個參數:
  
  PROCEDURE Remove(job IN binary_ineger);
  
  job參數唯一地標識一個工作。這個參數的值是由為此工作調用Submit()過程返回的job參數的值。
  已正在運行的工作不能由調用過程序刪除。
  
  7、Run()過程用來立即執行一個指定的工作。這個過程只接收一個參數:
  
  PROCEDURE Run(job IN binary_ineger)
  
  job參數標識將被立即執行的工作。
  
  8、使用Submit()過程,工作被正常地計劃好。
  這個過程有五個參數:job、what、next_date、interval與no_parse。
  
  PROCEDURE Submit ( job OUT binary_ineger,
  What IN varchar2,
  next_date IN date,
  interval IN varchar2,
  no_parse IN booean:=FALSE)
  
  job參數是由Submit()過程返回的binary_ineger。這個值用來唯一標識一個工作。
  what參數是將被執行的PL/SQL代碼塊。
  next_date參數指識何時將運行這個工作。
  interval參數何時這個工作將被重執行。
  no_parse參數指示此工作在提交時或執行時是否應進行語法分析——TRUE
  指示此PL/SQL代碼在它第一次執行時應進行語法分析,
  而FALSE指示本PL/SQL代碼應立即進行語法分析。
  
  9、User_Export()過程返回一個命令,此命令用來安排一個存在的工作以便此工作能重新提交。
  此程序有兩個參數:job與my_call。
  
  PROCEDURE User_Export(job IN binary_ineger,
  my_call IN OUT varchar2)
  
  job參數標識一個安排了的工作。my_call參數包含在它的當前狀態重新提交此工作所需要
  的正文。
  
  10、What()過程應許在工作執行時重新設置此正在運行的命令。這個過程接收兩個參數:job與what。
  
  PROCEDURE What (job IN binary_ineger,
  What IN OUT varchar2)
  
  job參數標識一個存在的工作。what參數指示將被執行的新的PL/SQL代碼。
  
  一個簡單例子:
  
  創建測試表
  SQL> create table a(a date);
  
  表已創建。
  
  創建一個自定義過程
  SQL> create or replace procedure test as
  2 begin
  3 insert into a values(sysdate);
  4 end;
  5 /
  
  過程已創建。
  
  創建JOB
  SQL> variable job1 number;
  SQL>
  SQL> begin
  2 dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --天天1440分鐘,即一分鐘運行test過程一次
  3 end;
  4 /
  
  PL/SQL 過程已成功完成。
  
  運行JOB
  SQL> begin
  2 dbms_job.run(:job1);
  3 end;
  4 /
  
  PL/SQL 過程已成功完成。
  
  SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 時間 from a;
  
  時間
  -------------------
  2001/01/07 23:51:21
  2001/01/07 23:52:22
  2001/01/07 23:53:24
  
  刪除JOB
  SQL> begin
  2 dbms_job.remove(:job1);
  3 end;
  4 /
  
  PL/SQL 過程已成功完成。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 文昌市| 广丰县| 德格县| 于都县| 浑源县| 海门市| 康保县| 绥阳县| 高尔夫| 柏乡县| 海安县| 灌云县| 巩留县| 宜兰市| 湘西| 黄骅市| 嫩江县| 兴和县| 道真| 东莞市| 义马市| 乳源| 张家界市| 兴义市| 区。| 奉贤区| 佛冈县| 青川县| 合水县| 固原市| 炉霍县| 定安县| 巴林右旗| 油尖旺区| 邯郸市| 濮阳县| 化州市| 镇原县| 浦县| 平远县| 朝阳市|