sql >> Databasteknik >  >> RDS >> Mysql

skicka en array som en parameter som ska användas i en SQL-fråga med IN-kommandot

Om du har frågan i en variabel (inte en lagrad procedur) och du inte har en enorm mängd ID, kan du bygga ditt eget IN. Jag har inte testat hastigheten på detta tillvägagångssätt.

Den här koden kommer inte att kompileras, det är bara för att ge dig en idé.

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


  1. Infogar bara en rad om den inte redan finns där

  2. 3 sätt att få månadens namn från ett datum i MariaDB

  3. gruppera på varandra följande tidsintervall i sql

  4. Hur man testar om Ci lyckades infoga data