Genom att skapa en parameterfråga i SQL kan du dynamiskt ange kriterier när du kör en fråga. Här är stegen för att skapa en parameterfråga:
#### Öppna SQL Editor:
Öppna din SQL-redigerare eller databashanteringsverktyg.
#### Skapa en grundläggande urvalsfråga:
Börja med att skriva en grundläggande SELECT-fråga som hämtar önskade kolumner från en tabell. Till exempel:
```
VÄLJ *
FRÅN kunder
```
#### Lägg till parameter:
I WHERE-satsen lägger du till en parameterplatshållare med ett frågetecken (?) för att representera de dynamiska kriterierna. Till exempel:
```
VÄLJ *
FRÅN kunder
VAR stad =?
```
Frågetecknet (?) i frågan fungerar som en platshållare för parametervärdet som kommer att tillhandahållas när frågan körs.
#### Förbered uttalandet:
Använd lämplig metod som tillhandahålls av ditt databassystem för att förbereda SQL-satsen för exekvering. Detta steg varierar beroende på databas och programmeringsspråk du använder.
#### Bind parametervärdet:
Bind parametervärdet till den förberedda satsen. Bindningsprocessen associerar ett specifikt värde med parameterplatshållaren (?).
#### Kör frågan:
Utför den förberedda satsen och ange det faktiska värdet för parametern.
#### Exempel:
Låt oss överväga ett enkelt exempel i MySQL. Anta att vi vill hitta kunder från en specifik stad med hjälp av en parameterfråga. Så här skulle du skapa och köra frågan:
```
// Öppna MySQL-databasanslutning
// Kör frågan
```
``` sql
// Skapa en parameterfråga
VÄLJ *
FRÅN kunder
VAR stad =?;
```
```
// Förbered uttalandet
PreparedStatement-sats =connection.prepareStatement(sql);
// Bind parametervärdet
statement.setString(1, "New York");
// Kör frågan
ResultSet resultSet =statement.executeQuery();
// Bearbeta resultatuppsättningen
while (resultSet.next()) {
// Hämta kolumnvärden
String name =resultSet.getString("namn");
String stad =resultSet.getString("stad");
// Skriv ut resultatet
System.out.println("Kund:" + namn + ", Stad:" + stad);
}
```
I det här exemplet binder vi det faktiska värdet "New York" till parameterplatshållaren (?) med setString(1, "New York"). När frågan exekveras kommer den att hämta kunder från databasen där stadskolumnen matchar det angivna parametervärdet.
Parameterfrågor är användbara för att bygga dynamiska och flexibla SQL-frågor som enkelt kan modifieras genom att ändra parametervärdena utan att modifiera själva den underliggande SQL-satsen.