把参数先赋值一个变量试验一下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;
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;
(
bh varchar2(30)
)
AS
BEGIN
delete from fxhxx where fxhbh=:bh;
END;
(
bh in varchar2 --1
)
AS
BEGIN
delete from fxhxx where fxhbh=bh;--2
END;
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"不存在!
我操!