创建存储过程的时候要有
create or replace procedure_name存储过程内容(如上)end;
/
不知道你是不是这样作的?
这样作也不可以吗?

解决方案 »

  1.   

    我用的是Embarcadero DBArtisan 5.4.1 oracle 开发工具,过程的头部是对的。结尾是end pro_sc_jj_pjcrk; 其中pro_sc_jj_pjcrk 是过程名。
      

  2.   

    我是在PB里调用的。
    调用形式如下:
    DECLARE pro_pjcrk PROCEDURE FOR QMS.PRO_SC_JJ_PJCRK ;
    execute pro_pjcrk;
    if sqlca.sqlcode = 0 then
      messagebox("系统提示","OK")
    end if
      

  3.   

    可以使用commit;我在别的过程中都使用过没有问题的。
      

  4.   

    create or replace procedure pro_sc_jj_pjcrk
    is
    begin
    insert into temp_sc_jj_pjcrk
     select d.xh,a.njh,f.xb,b.jcs syjcs,a.jcs byjcs,c.ths,a.lx,e.sl,substr(e.rq,9,2) rq,to_char(to_date(e.rq,'yyyy/mm/dd'),'DAY') xq from v_sc_jj_pjkc_by a,v_sc_jj_pjkc_sy b,v_sc_jj_pjkc_hztk c,
     sc_jj_pjxh d,v_sc_jj_pjkc_crk e,sc_jj_pjb f where a.njh = b.njh(+) and a.njh = c.njh (+) and a.njh = d.njh (+)
     and a.njh = e.njh (+) and a.lx = e.lx (+) and a.njh = f.njh (+);
    end;
    /begin 
    exec pro_sc_jj_pjcrk;
    end;
    /
      

  5.   

    我把QMS去掉就行了。不知道为什么。