日期:2014-05-17  浏览次数:20850 次

一个简单的存储过程
我每天都要更新前一天的的两条语句,更新提交后,再去执行那天的存储过程prc_pnr和prc_fdl,每天都手动,太麻烦了,所以想写个过程。我写的过程如下,但不确定时间有没有写对
create or replace procedure CTU_JHG_PRICE 
begin
update p2002_pnr t  
set qu_jian='40',line_price=510
where flight_date = to_char(sysdate-1,'yyyymmdd')
and comp='EU'
and dep='CTU'
and arr='JHG'
and is_goshow=0
and is_noshow=0
and cabin='X'
commit;
update p2002_pnr  
set qu_jian='40',line_price=510
where flight_date = to_char(sysdate-1,'yyyymmdd')
and comp='EU'
and dep='JHG'
and arr='CTU'
and is_goshow=0
and is_noshow=0
and cabin='X'
commit;
PRC_PNR(sysdate-1);
commit;
PRC_FDL(sysdate-1);
end CTU_JHG_PRICE;


------解决方案--------------------
1、flight_date字段是否为YYYYMMDD格式?
2、2个存储过程的输入参数是否精确到sysdate?
以上若确定,就没问题。
------解决方案--------------------
1、你要把存储过程放在job里它才会每天自动执行;
2、调用的存储过程的输入参数是什么类型,你转换成相应类型就行。