Oprettelse af en parameterforespørgsel i SQL giver dig mulighed for dynamisk at angive kriterier, når du udfører en forespørgsel. Her er trinene til at oprette en parameterforespørgsel:
#### Åbn SQL Editor:
Åbn din SQL-editor eller databasestyringsværktøj.
#### Opret en grundlæggende valgforespørgsel:
Start med at skrive en grundlæggende SELECT-forespørgsel, der henter de ønskede kolonner fra en tabel. For eksempel:
```
VÆLG *
FRA kunder
```
#### Tilføj parameter:
Tilføj en parameterpladsholder i WHERE-udtrykket ved hjælp af et spørgsmålstegn (?) for at repræsentere de dynamiske kriterier. For eksempel:
```
VÆLG *
FRA kunder
HVOR by =?
```
Spørgsmålstegnet (?) i forespørgslen fungerer som en pladsholder for den parameterværdi, der vil blive angivet, når forespørgslen udføres.
#### Forbered erklæringen:
Brug den relevante metode fra dit databasesystem til at forberede SQL-sætningen til udførelse. Dette trin varierer baseret på den database og det programmeringssprog, du bruger.
#### Bind parameterværdien:
Bind parameterværdien til den forberedte erklæring. Bindingsprocessen knytter en bestemt værdi til parameterpladsholderen (?).
#### Udfør forespørgslen:
Udfør den forberedte erklæring, og angiv den faktiske værdi for parameteren.
#### Eksempel:
Lad os overveje et simpelt eksempel i MySQL. Antag, at vi ønsker at finde kunder fra en bestemt by ved hjælp af en parameterforespørgsel. Sådan vil du oprette og udføre forespørgslen:
```
// Åbn MySQL-databaseforbindelse
// Udfør forespørgslen
```
``` sql
// Opret en parameterforespørgsel
VÆLG *
FRA kunder
HVOR by =?;
```
```
// Forbered erklæringen
PreparedStatement statement =connection.prepareStatement(sql);
// Bind parameterværdien
statement.setString(1, "New York");
// Udfør forespørgslen
ResultSet resultSet =statement.executeQuery();
// Bearbejd resultatsættet
while (resultSet.next()) {
// Hent kolonneværdier
Strengnavn =resultSet.getString("navn");
String by =resultSet.getString("by");
// Udskriv resultatet
System.out.println("Kunde:" + navn + ", By:" + by);
}
```
I dette eksempel binder vi den faktiske værdi "New York" til parameterpladsholderen (?) ved hjælp af setString(1, "New York"). Når forespørgslen udføres, vil den hente kunder fra databasen, hvor bykolonnen matcher den angivne parameterværdi.
Parameterforespørgsler er nyttige til at bygge dynamiske og fleksible SQL-forespørgsler, der nemt kan ændres ved at ændre parameterværdierne uden at ændre selve den underliggende SQL-sætning.