Durch das Erstellen einer Parameterabfrage in SQL können Sie beim Ausführen einer Abfrage dynamisch Kriterien angeben. Hier sind die Schritte zum Erstellen einer Parameterabfrage:
#### SQL-Editor öffnen:
Öffnen Sie Ihren SQL-Editor oder Ihr Datenbankverwaltungstool.
#### Erstellen Sie eine einfache Auswahlabfrage:
Schreiben Sie zunächst eine einfache SELECT-Abfrage, die die gewünschten Spalten aus einer Tabelle abruft. Zum Beispiel:
„
WÄHLEN *
VON Kunden
„
#### Parameter hinzufügen:
Fügen Sie in der WHERE-Klausel einen Parameterplatzhalter mit einem Fragezeichen (?) hinzu, um die dynamischen Kriterien darzustellen. Zum Beispiel:
„
WÄHLEN *
VON Kunden
WO Stadt =?
„
Das Fragezeichen (?) in der Abfrage fungiert als Platzhalter für den Parameterwert, der beim Ausführen der Abfrage bereitgestellt wird.
#### Bereiten Sie die Erklärung vor:
Verwenden Sie die entsprechende Methode Ihres Datenbanksystems, um die SQL-Anweisung für die Ausführung vorzubereiten. Dieser Schritt variiert je nach verwendeter Datenbank und Programmiersprache.
#### Binden Sie den Parameterwert:
Binden Sie den Parameterwert an die vorbereitete Anweisung. Der Bindungsprozess ordnet dem Parameterplatzhalter (?) einen bestimmten Wert zu.
#### Führen Sie die Abfrage aus:
Führen Sie die vorbereitete Anweisung aus und geben Sie den tatsächlichen Wert für den Parameter an.
#### Beispiel:
Betrachten wir ein einfaches Beispiel in MySQL. Angenommen, wir möchten mithilfe einer Parameterabfrage Kunden aus einer bestimmten Stadt finden. So würden Sie die Abfrage erstellen und ausführen:
„
// MySQL-Datenbankverbindung öffnen
// Abfrage ausführen
„
„sql
// Eine Parameterabfrage erstellen
WÄHLEN *
VON Kunden
WO Stadt =?;
„
„
// Bereiten Sie die Anweisung vor
PreparedStatement-Anweisung =Connection.prepareStatement(sql);
// Parameterwert binden
Anweisung.setString(1, „New York“);
// Abfrage ausführen
ResultSet resultSet =Statement.executeQuery();
// Verarbeiten Sie die Ergebnismenge
while (resultSet.next()) {
// Spaltenwerte abrufen
String name =resultSet.getString("name");
String city =resultSet.getString("city");
// Ergebnis drucken
System.out.println("Kunde:" + Name + ", Stadt:" + Stadt);
}
„
In diesem Beispiel binden wir den tatsächlichen Wert „New York“ mit setString(1, „New York“) an den Parameterplatzhalter (?). Wenn die Abfrage ausgeführt wird, werden Kunden aus der Datenbank abgerufen, bei denen die Stadtspalte mit dem angegebenen Parameterwert übereinstimmt.
Parameterabfragen eignen sich zum Erstellen dynamischer und flexibler SQL-Abfragen, die einfach durch Ändern der Parameterwerte geändert werden können, ohne die zugrunde liegende SQL-Anweisung selbst zu ändern.