Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Übergeben eines Arrays als Parameter zur Verwendung in einer SQL-Abfrage mit dem IN-Befehl

Wenn Sie die Abfrage in einer Variablen (nicht in einer gespeicherten Prozedur) haben und keine große Menge an IDs haben, können Sie Ihr eigenes IN erstellen. Ich habe die Geschwindigkeit dieses Ansatzes nicht getestet.

Dieser Code wird nicht kompiliert, er soll Ihnen nur eine Vorstellung geben.

query = "SELECT * FROM table WHERE col IN ("

For t = 0 TO x.Length-1
    If t > 0 Then query &= ","

    query &= "@var" & t
Next

query &= ")"

...

For t = 0 TO x.Length-1
    cmd.Parameters.Add("@var" & t, SqlDbType.Int).Value = x(t)
Next