后台存储过程当作函数使用

来源:互联网 发布:mac系统word文件消失 编辑:程序博客网 时间:2024/05/22 00:54

自定义一个transaction,在外部函数生成改重声明函数如:

function long pr_update_cost(string Bill_No,string inout_flag,ref string ls_return ) RPCFUNC ALIAS FOR "dbo.pr_update_cost"
或Subroutine pr_update_cost(string Bill_No,string inout_flag,ref string ls_return ) RPCFUNC ALIAS FOR "dbo.pr_update_cost"

 

声明方法:

在外部函数声明中右击:paste special/sql/stored remote procedures

然后在application的addtional properties中的variable types 中将sqlca下面的文本框中填上自定义的那个transaction的名称.调用的时候就想调用sqlca的其他函数一样了.
再加一点:

  1)由于PB中String类型的数据长度是动态分配的,因此对Ref String类型的参数,每次调用前需要申请足够的
空间。每次调用前需要用SPACE(存储过程output参数的长度)来置为足够长度的空串。
   2)类似地当传递的参数为数组(后台称PL/SQL Table)时,声明参数为相应类型的动态数组,并在每次调用前设
置数组上界为足够大的值。
3,调用法:ls_return=space(100)--数据库返回值的最大长度确定
sqlca.pr_update_cost(ls_billno,'+-',ls_return)

原创粉丝点击