PLSQL 存储过程(PROCEDURE)

语法格式:

  • 创建存储过程
CREATE [OR REPLACE] PROCEDURE 过程名[(参数1 [IN|OUT|IN OUT] 数据类型,
									 参数2 [IN|OUT|IN OUT] 数据类型……)]
IS|AS
PL/SQL过程体;
  • 调用存储过程,执行过程中的命令
BEGIN
  过程名[(参数)];
END;

设置存储过程定时作业(DBMS_JOB)

该过程用于建立一个新的作业,当建立作业的时候,需要通过设置相应的参数来告诉Oracle要执行的内容,
要执行的时间,要执行任务的间隔。如下格式:
– 包中的存储过程DBMS_JOB.SUBMIT,参数如下

DBMS_JOB.SUBMIT(
   JOB OUT BINARY_INTERGER,                          -- 用于指定作业编号
   WHAT IN VARCHAR2,                                 -- 用于指定作业要执行的操作
   NEXT_DATE IN DATE DEFAULT SYSDATE,                -- 用于指定该操作的下一次运行的日期
   INTERVAL IN VARCHAR2 DEFAULT 'NULL',              -- 用于指定该操作的时间间隔
   NO_PARSE IN BOOLEAN DEFAULT FALSE,                -- 用于指定是否需要解析与作业相关的过程
   INSTANCE IN BINARY_INTEGER DEFAULT ANY_INSTANCE,  -- 用于指定哪个例程可以运行作业?
   FORCE IN BOOLEAN DEFAULT FALSE                    -- 用于指定是否强制运行与作业相关的例程
   )

执行和停止定时任务的DEMO

DECLARE
  V_JOBNO NUMBER;
BEGIN
--提交,操作的时间间隔设置为5秒(default参数可以不用传入)
  DBMS_JOB.SUBMIT(JOB=>V_JOBNO,    --序列号
				  WHAT=>      ,    --调用存储过程(分号不能少"xxxxxxx;")
				  NEXT_DATE=>SYSDATE, 
				  INTERVAL=>'SYSDATE+1/(24*60*12)');  
--打印序列号
  DBMS_OUTPUT.PUT_LINE('JOBNO='||V_JOBNO);
--运行
  DBMS_JOB.RUN(V_JOBNO);
END;
  
-- 删除
BEGIN
DBMS_JOB.REMOVE(JOBNO);  -- JOBNO为具体数字
END; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值