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 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();
   }
}

Siehe auch

Andere Ressourcen

Verwenden von Anweisungen mit gespeicherten Prozeduren