• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

CallableStatement and parameterName

 
Moody Hopkins
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How do you use the CallableStatement and parameterNames?
I do not want to use the indexes (indi?) and wildcards if possible.
I know how to use the ? type statements.
I would like to use these type of "setX" methods:
setString(String parameterName, String x)
instead of the :
setString(int parameterIndex, String x)
type methods.
Is this possible? If so, how do I create the statement?
Thanks!!!
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34669
367
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Moody,
There is a good article on this. Basically the names of the parameters need to match the names declared in your stored procedure.
 
Loren Rosen
Ranch Hand
Posts: 156
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Oracle supports precisely what you want, if you use OracleCallableStatement. That, of course, is specific to Oracle, but I think the technique described in the article Jeanne mentions is also Oracle-specific.
 
Moody Hopkins
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you very much for the link! However, after reading the article, it seems that it still uses the positional notation. The only difference is the parameters are named in the stored procedure. The java code still has to know the order of the parameters. This is what I would like to avoid.
Perhaps this is not possible? But it must be, why else do we have the functions overidden with named parameters?
What I would like to do is avoid the ? thing altogether.
Thanks!
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34669
367
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Moody,
In this code from the article, it shows how you are defining the order in your java code. While you still set the parameters using indexes, these numbers are based on the order set in the java code. So if you wanted p_status to be #1, you would put it first.
 
Guram Savinov
Greenhorn
Posts: 2
IntelliJ IDE Java Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is it possible to define named parameters with named PL/SQL notation, like this

and later set values with methods like this
 
Martin Vajsar
Sheriff
Posts: 3752
62
Chrome Netbeans IDE Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch, Guram!

Which database are you using? I think that not all databases support using named parameters, and some provide database-specific extensions for this functionality.
 
Guram Savinov
Greenhorn
Posts: 2
IntelliJ IDE Java Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm interested in Oracle database.
As far as I know it's possible to define PL/SQL parameters (names with '=>' symbols after it) and use JDBC parameters (names with doublequotes prefix).
Look for example in my previous post.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic