首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

求写个job解决方案

2012-05-29 
求写个job我建了一个过程如下create or replace procedure PROC_CTU_JHG_PRICE (DEP_DATE IN DATE, ARR_DA

求写个job
我建了一个过程如下create or replace procedure PROC_CTU_JHG_PRICE (DEP_DATE IN DATE, ARR_DATE IN DATE) is
begin
update p2002_pnr t
set t.qu_jian='40',t.line_price=510
where t.flight_date >= DEP_DATE
and t.flight_date <= ARR_DATE
and t.comp='EU'
and t.dep='CTU'
and t.arr='JHG'
and t.is_goshow=0
and t.is_noshow=0
and t.cabin='X';
commit;
update p2002_pnr t
set t.qu_jian='40',t.line_price=510
where t.flight_date >= DEP_DATE
and t.flight_date <= ARR_DATE
and t.comp='EU'
and t.dep='JHG'
and t.arr='CTU'
and t.is_goshow=0
and t.is_noshow=0
and t.cabin='X';
commit;
PRC_PNR(DEP_DATE,ARR_DATE );
commit;
PRC_FDL(DEP_DATE,ARR_DATE);
end PROC_CTU_JHG_PRICE;
我的目的是要每天要运行这个过程,但运行传入的日前是sysdate-1,比如2012-04-27运行2012-04-26的那样,因为我过程里写的flight——date不是sysdate,所以不知道怎么建job,原来在过程里改成sysdate编译成功,但测试不成功,求例子

[解决办法]
设置个变量!传入当天的时间 里面变量设置个V_DAY:=(T_DAY-1);v_day1:=(T_DAY1-1)

declare
begin

PROC_CTU_JHG_PRICE (t_day,t_day1);

end;


间隔时间可以设置成sysdate+1
[解决办法]

SQL code
--1.创建一张表    create table g_test    (      id     number(12),      c_date date    )    --2.创建一个序列    create sequence g_seq    minvalue 1    maxvalue 9999    start with 141    increment by 1    cache 20    --3.创建一个存储过程    create or replace procedure prc_g_test is    begin          insert into g_test values(g_seq.nextval,sysdate);    end prc_g_test;    --4.创建job    variable job1 number;    declare    job int;    begin        sys.dbms_job.submit(job,'prc_g_test',sysdate,'sysdate+1/24');--每隔一个小时调用一次过程        commit;    end; 

热点排行