把参数先赋值一个变量试验一下pb帮助里面的oracle存储过程使用范例:
If a stored procedure, proc1, is defined as:CREATE PROCEDURE spm1(dept varchar2, mgr_name OUT varchar2) 
IS lutype varchar2(10);
BEGIN 
SELECT manager INTO mgr_name FROM mgr_table
WHERE dept_name = dept;
END;To declare that procedure for processing within PowerBuilder, you code:DECLARE dept_proc PROCEDURE FOR 
spm1(:dept);Note that this declaration is a non-executable statement, just like a cursor declaration. Where cursors have an OPEN statement, procedures have an EXECUTE statement.When the EXECUTE statement executes, the procedure is invoked. The EXECUTE refers to the logical procedure name.EXECUTE dept_proc;

解决方案 »

  1.   

    /这就是sp_opererrors的存储过程代码,删除fxhbh=传入的参数的记录CREATE OR REPLACE PROCEDURE sp_del_fxh
       (
         bh varchar2(30)
       )
    AS
    BEGIN
       delete from fxhxx where fxhbh=:bh;
    END;
      

  2.   

    你这个过程能编译通过吗?where fxhbh=:bh;改为where fxhbh=bh;
      

  3.   

    CREATE OR REPLACE PROCEDURE sp_del_fxh
       (
         bh  in varchar2 --1
       )
    AS
    BEGIN
       delete from fxhxx where fxhbh=bh;--2
    END;
      

  4.   

    declare sp procedure for sp_opererrors('J0010312005');
    execute sp;
    if sqlca.sqlcode<0 then
       messagebox('error',sqlca.sqlerrtext)
       return -1
    end if;/这就是sp_opererrors的存储过程代码,删除fxhbh=传入的参数的记录CREATE OR REPLACE PROCEDURE sp_del_fxh
       (
         bh  in varchar2
       )
    AS
    BEGIN
       delete from fxhxx where fxhbh=bh;
    END;又说:对象“piblic.sp_opererrors"不存在!
    我操!