求写个job

Galen_Gao 2012-04-27 10:55:41
我建了一个过程如下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编译成功,但测试不成功,求例子
...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
d604060189 2012-05-07
  • 打赏
  • 举报
回复

--每日早上6:30执行

TRUNC(SYSDATE+1) +6.5/24

--每月2号早上6:30执行
add_months(trunc(sysdate,'mm'),1)+1+6.5/24
小飛不想飛 2012-05-03
  • 打赏
  • 举报
回复

--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;
Galen_Gao 2012-05-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

你应该是 不会设置job的参数 。
[/Quote]给个具体的例子吧
d604060189 2012-04-27
  • 打赏
  • 举报
回复
你应该是 不会设置job的参数 。
ICE-word 2012-04-27
  • 打赏
  • 举报
回复
补充下! 你过程里面传入的DEP_DATE , ARR_DATE 改成V_DAY 跟V_DAY1就可以了
ICE-word 2012-04-27
  • 打赏
  • 举报
回复
设置个变量!传入当天的时间 里面变量设置个V_DAY:=(T_DAY-1);v_day1:=(T_DAY1-1)

declare
begin

PROC_CTU_JHG_PRICE (t_day,t_day1);

end;


间隔时间可以设置成sysdate+1

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧