• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

passing values with IN attribute

 
Jignesh Patel
Ranch Hand
Posts: 626
Mac
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a where clause like:"WHERE IB.CURR_CUSTOMER_KEY IN (?)"
Now input values may contain one or more then one values. And the number of customer key can only decided at runtime only so how to pass values in IN attribute.
 
Makarand Parab
Ranch Hand
Posts: 121
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If your are using prepared statement, u can use
setString(int parameterIndex, String x)

where string x = "Value1,Value2" and parameterIndex = 1
The string x u need to create at runtime.

So ur IN clause will be
Select * from xyz where a.data in ("Value1,Value2")

What do u thing
Am i on right track

Let me know

Regards
Makarand Parab
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34649
365
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Makarand,
That won't work. You can only substitute a single string literal for the parameter. So the database would try to match on "Value1,Value2" rather than "Value1" and "Value2."

Jignesh,
Take a look at this thread where I explain select batching a bit. Interestingly, this is the topic of an article for the October JavaRanch Journal. The article will go into more depth on the topic, walk through an example and point out some criteria to use.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic