怎么在pb里调用存储过程?

时间:2022-11-07 16:23:02
create procedure my_procdedure as 

begin 

select datepart(yy , getdate()) , datepart(m , getdate()) , datepart(d , getdate()) , datepart(hh , getdate()) , datepart(mi , getdate()) , datepart(ss , getdate())

end 

怎么在pb中调用?怎么把得到的数据传给一个结构?

5 个解决方案

#1


DECLARE emp_proc PROCEDURE FOR p_wholesale 
 @as_billno    =:ls_billno ,
 @as_storecode  =:ls_store
 ;
 
EXECUTE emp_proc;
 
IF SQLca.sqlcode=-1  then
ls_msg='存储过程调用失败...'+sqlca.sqlerrtext
close  emp_proc;
rollback;
goto err_exit
end if
commit;

#2


调用如楼上方法,调用完毕之后fetch ... into ...,就可以取到值了

#3


探索以前的贴子

#4


主要是三种方式

1、具体看查看帮助
Declare

Execute

fetch ... into 

2、rpc

将一个RPC定义为外部函数的语法与定义一般的外部函数类似。其区别的用RPCDUNC代替一般外部函数定义中的LIBRARY,如果你要使用别名,必须使用ALIAS FOR语法。 

语法

FUNCTION  rtndatatype  functionname ( { REF } 
    { datatype1 arg1, ..., datatypen argn } )
    RPCFUNC {ALIAS FOR spname}

如果一个函数没有返回值(例如,它返回Void),外部函数定义的语法是:

SUBROUTINE  rtndatatype   functionname  ({REF}
    { datatype1 arg1 , ..., datatypen argn })
    RPCFUNC {ALIAS FOR spname}


3、数据窗口

#5


该回复被版主删除

#1


DECLARE emp_proc PROCEDURE FOR p_wholesale 
 @as_billno    =:ls_billno ,
 @as_storecode  =:ls_store
 ;
 
EXECUTE emp_proc;
 
IF SQLca.sqlcode=-1  then
ls_msg='存储过程调用失败...'+sqlca.sqlerrtext
close  emp_proc;
rollback;
goto err_exit
end if
commit;

#2


调用如楼上方法,调用完毕之后fetch ... into ...,就可以取到值了

#3


探索以前的贴子

#4


主要是三种方式

1、具体看查看帮助
Declare

Execute

fetch ... into 

2、rpc

将一个RPC定义为外部函数的语法与定义一般的外部函数类似。其区别的用RPCDUNC代替一般外部函数定义中的LIBRARY,如果你要使用别名,必须使用ALIAS FOR语法。 

语法

FUNCTION  rtndatatype  functionname ( { REF } 
    { datatype1 arg1, ..., datatypen argn } )
    RPCFUNC {ALIAS FOR spname}

如果一个函数没有返回值(例如,它返回Void),外部函数定义的语法是:

SUBROUTINE  rtndatatype   functionname  ({REF}
    { datatype1 arg1 , ..., datatypen argn })
    RPCFUNC {ALIAS FOR spname}


3、数据窗口

#5


该回复被版主删除