pb调用返回值为cursor的存储过程,高手~
pb调用返回值为cursor的存储过程,求助高手~!
RT,PB该如何调用返回值为游标的的存储过程。我调用的时候,用了如下语法:
do while sqlca.sqlcode = 0
FETCH deaction INTO :str1;
ls_deaction = ls_deaction+trim(str1)
loop
但是同样的内容,会提取好几遍。就比如,我原本存的是12,结果提取后就变成121212.请问正确的调用方法是那种?
------解决方案--------------------
如果你的 dowhile loop 循环之前有其他的 sql 执行,那么你贴出来的代码,肯定会多出一个12出来。
我假设你的 do while 语句之前有一段 sql 语句执行成功,那么 sqlca.sqlcode 已经被赋值为0 了
你这样试试:
RT,PB该如何调用返回值为游标的的存储过程。我调用的时候,用了如下语法:
do while sqlca.sqlcode = 0
FETCH deaction INTO :str1;
ls_deaction = ls_deaction+trim(str1)
loop
但是同样的内容,会提取好几遍。就比如,我原本存的是12,结果提取后就变成121212.请问正确的调用方法是那种?
------解决方案--------------------
如果你的 dowhile loop 循环之前有其他的 sql 执行,那么你贴出来的代码,肯定会多出一个12出来。
我假设你的 do while 语句之前有一段 sql 语句执行成功,那么 sqlca.sqlcode 已经被赋值为0 了
你这样试试:
ls_deaction = ''
OPEN deaction ;
FETCH deaction INTO :str1;
do while sqlca.sqlcode = 0
ls_deaction = ls_deaction+trim(str1)
FETCH deaction INTO :str1;
loop
CLOSE deaction;