oracle10中sql传参数难题,求解。
查询语句:select * from table_name where id='1'; 在jdbc中我们可以这样查询
String sql = "select * from table_name where id=?";
PreparedStatement ps = conn.preparedStatement(sql);
ps.setString(1, "1");
ps.executeQuery();
在存储过程中可以这么用
create or replace procedure(vId in char) as
....
begin
....
select name into ..from table_name where id=vId;
....
end;
通过 ‘?’占位符传参数。
但是这样id的值只能有一个。如果我想批量查询,如:select * from table_name where id in ('1','2','3'.....);就是in里的数据个数不固定。在jdbc中该如何使用?
在存储过程中又怎么传递参数呢?(不要拼接字符串)求指点.
------解决方案--------------------自己先顶个,求高手们指点迷津。
------解决方案-------------------- 传游标 就OK了
------解决方案--------------------你传进来的参数应该是一个逗号分隔的字符串,如:
v_ids='1,2,3';
如果表的数据量小,可以直接用LIKE查询:
select * from table_name where ','