维护一个使用Oracle数据库的项目,需要每天执行某个存储过程,自然而然要使用Job了。由于对Oracle数据库不熟悉,故记录下来。
这个每天要执行的存储过程有一个varchar2类型的传入参数,具体执行的时候传进去的是当天的日期,如'2014/2/3'。我创建Job时Type选择的是“Stored procedure”,所以我需要另外创建一个存储过程,命名为:ExecSJUPDATE,具体代码为:
create or replace procedure ExecSJUPDATE as dt varchar2(40); begin dt:=to_char(sysdate,'yyyy-MM-dd'); sjupdate(dt); commit; end ExecSJUPDATE;
下面创建Job,具体的参数设置如下:
在创建存储过程时,将 dt赋值写成了
dt:=to_char(sysdate,'yyyy/MM/dd');
程序一直没有起作用,改成
dt:=to_char(sysdate,'yyyy-MM-dd');
就好了。