ProblemYou want to use a procedure stored in the database (a stored procedure). SolutionUse a CallableStatement . DiscussionA stored procedure is a series of SQL statements[5] stored as part of the database for use by any SQL user or programmer, including JDBC developers. Stored procedures are used for the same reasons as prepared statements: efficiency and convenience. Typically, the database administrator (DBA) at a large database shop sets up stored procedures and tells you what they are called, what parameters they require, and what they return. Putting the stored procedure itself into the database is totally database-dependent and not discussed here.
Suppose that I wish to see a list of user accounts that have not been used for a certain length of time. Instead of coding this logic into a JDBC program, I might define it using database-specific statements to write and store a procedure in the database and then use the following code. Centralizing this logic in the database has some advantages for maintenance and also, in most databases, for speed: CallableStatment cs = conn.prepareCall("{ call ListDefunctUsers }"); ResultSet rs = cs.executeQuery( ); I then process the ResultSet in the normal way. |