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. Der Microsoft-JDBC-Treiber für SQL Server stellt die Klasse SQLServerStatement bereit, mit der Sie diese Art 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 folgendermaßen:
{call procedure-name}
Hinweis
Weitere Informationen zu SQL-Escapesequenzen finden Sie unter Verwenden von SQL-Escapesequenzen.
Erstellen Sie als Beispiel die folgende gespeicherte Prozedur in der AdventureWorks2022-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 wird eine offene Verbindung mit der AdventureWorks2022-Beispieldatenbank an die Funktion übergeben, und die gespeicherte Prozedur GetContactFormalNames wird mit der executeQuery-Methode aufgerufen.
public static void executeSprocNoParams(Connection con) throws SQLException {
try(Statement stmt = con.createStatement();) {
ResultSet rs = stmt.executeQuery("{call dbo.GetContactFormalNames}");
while (rs.next()) {
System.out.println(rs.getString("FormalName"));
}
}
}