Die Durchführung des Aufrufs einer Stored Procedure wird an einem
kleinen Beispiel vorgestellt:
Angenommen, in der Datenbank existiert
eine Stored Procedure liefere_titel_an(), die ISBN und Anzahl der gelieferten
Titel als Parameter definiert.
Die Java-Methode liefereTitelAn() führt den JDBC-Aufruf der
Prozedur im folgenden Beispiel durch:
public void liefereTitelAn(String isbn, int anzahl)
throws SQLException {
// Setzen des SQL-Strings
String sql = "{ call liefere_titel_an(?,?) }";
CallableStatement call = con.prepareCall(sql);
// Setzen der Parameter
call.setString(1, isbn);
call.setInt(2, anzahl);
// Ausführen der Stored Procedure
call.executeUpdate();
// Freigabe der Ressourcen
call.close();
}
In main() wird die Datenbankverbindung initialisiert und anschließend
liefereTitelAn() mit Test-Parametern aufgerufen.
Für den eigentlichen Prozeduraufruf werden dann folgende Schritte durchgeführt:
- Abrufen eines CallableStatement-Exemplars von Connection über
die Methode prepareCall().
- Setzen der Parameter.
- Aufruf der Prozedur.
Genau wie bei
vorbereiteten SQL-Anweisungen kann man auch hier Platzhalter für Parameter durch
Verwendung des Fragezeichens (»?«) einsetzen.