Verwenden von gespeicherten Prozeduren ohne Parameter
Die einfachste Art einer gespeicherten SQL Server-Prozedur, die aufgerufen werden kann, enthält keine Parameter und gibt ein einziges Resultset zurück. Microsoft SQL Server 2005 JDBC Driver enthält die SQLServerStatement-Klasse, mit der Sie diese Art von gespeicherter Prozedur aufrufen und die zurückgegebenen Daten verarbeiten können.
Wenn Sie mit dem JDBC-Treiber eine gespeicherte Prozedur ohne Parameter aufrufen möchten, müssen Sie die call
-SQL-Escapesequenz verwenden. Die Syntax für die call
-Escapesequenz ohne Parameter lautet wie folgt:
{call procedure-name}
Hinweis
Weitere Informationen zu SQL-Escapesequenzen finden Sie unter Verwenden von SQL-Escapesequenzen.
Erstellen Sie als Beispiel die folgende Prozedur in der SQL Server 2005 AdventureWorks-Beispieldatenbank:
CREATE PROCEDURE GetContactFormalNames
AS
BEGIN
SELECT TOP 10 Title + ' ' + FirstName + ' ' + LastName AS FormalName
FROM Person.Contact
END
Diese gespeicherte Prozedur gibt ein einzelnes Resultset zurück, das eine Datenspalte enthält, bei der es sich um eine Kombination aus Titel, Vorname und Nachname der ersten zehn Kontakte in der Tabelle "Person.Contact" handelt.
Im folgenden Beispiel werden eine offene Verbindung zur AdventureWorks-Beispieldatenbank an die Funktion übergeben und die gespeicherte Prozedur "GetContactFormalNames" mit der executeQuery-Methode aufgerufen.
public static void executeSprocNoParams(Connection con) {
try {
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("{call dbo.GetContactFormalNames}");
while (rs.next()) {
System.out.println(rs.getString("FormalName"));
}
rs.close();
stmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
}