哪位大侠 帮忙看看这个存储过程 oracle   以前没用过 今天刚弄的  都是错误9i
create or replace procedure P_SJ_DATE(as_csrq in varchar4,ls_time  in  varchar20,
as_jsdate out decima2
)
is begin
 ls_time(SYSDATE)--取得今天的日期
  as_jsdate := (ls_time) - (as_csrq)}/365
  return as_jsdate
end P_SJ_DATE;

解决方案 »

  1.   


    create or replace procedure P_SJ_DATE(as_csrq in date,ls_time in date,
    as_jsdate out number
    )
    is begin
     ls_time := SYSDATE; --取得今天的日期
      as_jsdate := (ls_time) - (as_csrq) /365;
      return as_jsdate
    end P_SJ_DATE;
      

  2.   


    create or replace procedure P_SJ_DATE(as_csrq in date,ls_time in date,
    as_jsdate out number
    )
    is begin
     ls_time := SYSDATE; --取得今天的日期
      as_jsdate := (ls_time) - (as_csrq) /365;
    end P_SJ_DATE;
      

  3.   


    我这样写的 但是在PB 中调用怎么不好使呢  
    麻烦帮忙给个例子 呗  我刚接触oracle
      

  4.   

    string  ls_rq 
    dec  ld_sj ls_rq='2010-09-15'declare ora_process_prd procedure for P_SJ_DATE(:ls_rq); execute ora_process_prd; 
    //if sqlca.sqlcode<>0 then
    // messageBox("",ld_sj)
    // messageBox("",sqlca.sqlerrtext)
    //end if
    do while sqlca.sqlcode<>0
    fetch ora_process_prd into :ld_sj; 
    messagebox('ll_retrue_value',ld_sj)
    loop messageBox("",sqlca.sqlerrtext)
    close ora_process_prd; 
    这是我在PB 调用的存储过程怎么不对呢
    返回值是0