首先定义一个存储过程
这是一个可以随机生成一个四位验证码的过程
IDM为输入参数
DTM为输出参数
create or replace procedure C_CODE_BUILD(IDM in varchar2, DTM out long) isbeginUPDATE USER_INFO SET C_CODE = trunc(DBMS_RANDOM.value(1000,10000)) //随机生成一个四位数WHERE ID = IDM;COMMIT;SELECT C_CODE INTO DTM FROM USER_INFOWHERE ID = IDM; end C_CODE_BUILD;
在PB中调用
我只用在存储过程括号中加入传入参数就可以了,传出参数可不用添加
一定要注意的一点!
声明存储过程一定要加分号“ ;”, 不然会出现很大的差错,而且PB系统也不会报错,但是会导致你声明的存储过程跑不起来。
执行语句也要加分号!
最后使用fetch into 获取一下传出参数就好了
long ls_codestring pmidDECLARE myp PROCEDURE FORC_CODE_BUILD(:pmid); //一定要加分号EXECUTE myp;IF sqlca.SQLCode <> 0 THENMessageBox("提示",sqlca.SQLErrText)CLOSE myp;ELSEFETCH myp Into :ls_code;END IFCLOSE myp;
如果觉得《5.PB中调用存储过程》对你有帮助,请点赞、收藏,并留下你的观点哦!