当前位置: 代码迷 >> PB >> select into 中 in 怎么带参数
  详细解决方案

select into 中 in 怎么带参数

热度:131   发布时间:2016-04-29 09:24:24.0
select into 中 in 如何带参数
string ls_id
经过处理后得到ls_id类似如下的字符
ls_id="'3','6','8'"

select sum(je),sum(sl) 
into :ldc_je,:ldc_sl
from a
where id in ('3','6','8'); 这种语句能查出数据


select sum(je),sum(sl) 
into :ldc_je,:ldc_sl
from a
where id in (:ls_id); 这种语句就不能查出数据,但是我就需要这样的语句

请高手指导一下,不好意思我这里分用完了,还望见谅!

------解决方案--------------------
建DW 对象ds_tmp, 其SQL 代码写成

select sum(je),sum(sl) 
from a
where id in (:ls_id)

设置传入参数为 String array ,名称是ls_id 

在代码中写:
datastore lds_tmp
lds_tmp = create datastore
lds_tmp.dataobject = 'ds_tmp'
lds_tmp.settransobject(sqlca)

string ls_id[]
ls_id[1] = '3'
ls_id[2] = '6'
ls_id[3] = '8'

lds_tmp.retrieve(ls_id)

.....//在lds_tmp 中取数...

------解决方案--------------------
用游标来去,into: 变量这种只能应付单条数据集
  相关解决方案