wood burning stoves 2.0*
The moose likes JDBC and the fly likes Callable statement syntax Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "Callable statement syntax" Watch "Callable statement syntax" New topic
Author

Callable statement syntax

Amol Relkar
Greenhorn

Joined: Sep 13, 2006
Posts: 2

In JDBC, we use callable statement to call stored procedure in database. Following code snippet does that work.

Assume table, and range variables declared earlier

String sql = "{call " + NEXT_KEY_PROCEDURE + "('" + table + "', " + range
+ ", ?)}";

CallableStatement cs = con.prepareCall(sql);
cs.registerOutParameter(1, Types.NUMERIC);
cs.execute();

What is the significance of curly braces {} in the syntax?
Can we use PrepareStatement to call stored procedure?
Jeanne Boyarsky
internet detective
Marshal

Joined: May 26, 2003
Posts: 30356
    
150

Amol,
The braces are the escape syntax for stored procedures.

While using a PreparedStatement to call a stored procedure might work, it is risky because it might not. Or you could upgrade your driver and have it not work. It is better to use the intended CallableStatement subclass.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Jeanne Boyarsky
internet detective
Marshal

Joined: May 26, 2003
Posts: 30356
    
150

And welcome to JavaRanch!
Amol Relkar
Greenhorn

Joined: Sep 13, 2006
Posts: 2
Thanks a lot.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Callable statement syntax