select into 中 in 怎么带参数
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: 变量这种只能应付单条数据集
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: 变量这种只能应付单条数据集