5.PB中调用存储过程

这篇博客介绍了如何在PowerBuilder(PB)中调用PL/SQL存储过程来生成并更新用户信息表的四位验证码。存储过程名为C_CODE_BUILD,接受一个输入参数IDM和一个输出参数DTM。在PB中,通过声明和执行存储过程,并使用FETCH INTO语句获取传出参数。当SQL执行无误时,验证码会被更新并返回到PB应用中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先定义一个存储过程

这是一个可以随机生成一个四位验证码的过程

IDM为输入参数

DTM为输出参数

create or replace procedure C_CODE_BUILD(IDM in varchar2, DTM  out long) is
begin
  UPDATE USER_INFO 
     SET C_CODE = trunc(DBMS_RANDOM.value(1000,10000))  //随机生成一个四位数
   WHERE ID = IDM;
   COMMIT;
   SELECT C_CODE INTO DTM 
     FROM USER_INFO
    WHERE ID = IDM; 
end C_CODE_BUILD;

在PB中调用

我只用在存储过程括号中加入传入参数就可以了,传出参数可不用添加

一定要注意的一点!

声明存储过程一定要加分号“ ;”, 不然会出现很大的差错,而且PB系统也不会报错,但是会导致你声明的存储过程跑不起来。

执行语句也要加分号!

最后使用fetch  into  获取一下传出参数就好了

long ls_code
string pmid
DECLARE myp PROCEDURE FOR
	C_CODE_BUILD(:pmid);   //一定要加分号
	EXECUTE myp;
IF sqlca.SQLCode <> 0 THEN
	MessageBox("提示",sqlca.SQLErrText)
	CLOSE myp;
ELSE
	FETCH myp Into :ls_code;
END IF
CLOSE myp;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值