读书人

oracle存储过程中sql语句的有关问题

发布时间: 2014-01-12 00:03:16 作者: rapoo

oracle存储过程中sql语句的问题


select count(参数1), 参数1
from buspkm
where pkmord in (参数2)
group by 参数1;

其中参数2是'xxxxxx','xxxxxx','xxxxxx'样式的数据
请教大家为什么这条SQL查询结果总是空的?
[解决办法]
引用:

select count(参数1), 参数1
from buspkm
where pkmord in (参数2)
group by 参数1;

其中参数2是'xxxxxx','xxxxxx','xxxxxx'样式的数据
请教大家为什么这条SQL查询结果总是空的?

如果你是通过参数的方式传进来,这种格式是无法解析的,建议用动态SQL
[解决办法]
因为in (?) 和in (?,?,?)是不一样的。
[解决办法]
楼上说的没错,还是动态拼接一个SQL String,再执行
[解决办法]
存储过程或者sql代码里面 将参数2改为集合形式
[解决办法]
引用:

select count(参数1), 参数1
from buspkm
where pkmord in (参数2)
group by 参数1;

其中参数2是'xxxxxx','xxxxxx','xxxxxx'样式的数据
请教大家为什么这条SQL查询结果总是空的?

要把参数2里面的内容解析出来,
相当于in(子查询),把里面的值截取出来就行了

读书人网 >oracle

热点推荐