在我用PB调用我用SQL COBOL程序写的存储过程时遇到以下的问题:
这个存储过程的名称为CLM055, 下面就是我的SQL: 输入参数分别是CLNTNUM1, CLNTNUM2, CLNTNUM3, CLNTNUM4, CLNTNUM5
select eurd.chdrnum,eurd.crtable,
from eurd left join eurt on eurd.clmnum= eurt.aplnum
WHERE CLNTCLN.CLNTNUM IN (:clntnum1, :clntnum2, :clntnum3, :clntnum4, :clntnum5)
(非常长,省略了一些部分)
我在PB的数据窗口调用时, 语句是这样的:
execute CLM055;0 CLNTNUM1 = :CLNTNUM1, CLNTNUM2 = :CLNTNUM2, CLNTNUM3 = :CLNTNUM3, CLNTNUM4 = :CLNTNUM4, CLNTNUM5 = :CLNTNUM5
我的本来的意思是想,虽然需要输入5个参数, 但是并不要求必须五个都输入, 只需要其中一个参数有数值, 就可以带出数据的. 所以我当时的SQL是用的参数前面是用了IN 的, 并且这个SQL也成功带出正确的数据.
但是在PB上调用的结果并不成功, 无论我5个参数都输入值(clntnum1,2,3,4,5都输入值), 或者是输入一个数值其他四个为空(clntnum1='5004421',clntnum2,3,4,5我只输入一个空格), 都会出这条信息: Result of Select more than one row.
请教怎样在PB上调用才可以达到我所说的那种效果呢? 是不是在调用语句或者调用方法上出问题了呢? 请高人帮忙
[求助]PB调用存储过程遇到的问题