我有一个名为sp_getnextautono(as_sequenceid Char(20), as_sequenceno double output)
在Powerbuilder中,我编写了如下脚本:
//Declaration
Declare proc_autono Procedure for sp_setnextautono
@as_sequenceid = :ls_input,
@as_sequenceno = :ld_sequenceno;
//Execution
Execute proc_autono;
If Sqlca.Sqlcode <> 0 Then
ls_errormsg = Sqlca.SQLErrText
Rollback Using Sqlca;
MessageBox( 'Error', 'Error: ' + Sqlca.SqlErrText , Stopsign! )
Return FAILURE
End If
// Fetch
Fetch proc_autono Into :ld_sequenceno;
If Sqlca.Sqlcode <> 0 Then
ls_errormsg = Sqlca.SQLErrText
Rollback Using Sqlca;
MessageBox( 'Error', 'Error: ' + Sqlca.SqlErrText , Stopsign! )
Return FAILURE
End If
没有错误但我无法获取sequenceno
。
变量ld_sequenceno
返回0
。
有人可以建议我如何解决上述问题吗?
答案 0 :(得分:2)
这是你的代码(几乎没问题):
//Declaration
Declare proc_autono Procedure for sp_setnextautono
@as_sequenceid = :ls_input,
@as_sequenceno = :ld_sequenceno;
您只是缺少表示:ld_sequenceno是一个OUTPUT变量。尝试下一步,一切都应该没问题:
//Declaration
Declare proc_autono Procedure for sp_setnextautono
@as_sequenceid = :ls_input,
@as_sequenceno = :ld_sequenceno **OUTPUT**;