Una soluzione che uso molto...
Fornisci il tuo elenco di numeri come VARCHAR(MAX)
stringa delimitata da virgole, quindi utilizzare uno dei tanti dbo.fn_split()
funzioni che le persone hanno scritto in linea.
Uno dei molti esempi online... SQL-User-Defined-Function-to-Parse-a-Delimited-Str
Queste funzioni prendono una stringa come parametro e restituiscono una tabella.
Quindi puoi fare cose come...
INSERT INTO @temp SELECT * FROM dbo.split(@myList)
SELECT
*
FROM
myTable
INNER JOIN
dbo.split(@myList) AS list
ON list.id = myTable.id
Un'alternativa è esaminare i parametri con valori di tabella. Questi consentono di passare un'intera tabella a una stored procedure come parametro. Come dipende dal framework che stai utilizzando. Sei in .NET, Java, Ruby, ecc, e come stai comunicando con il database?
Una volta che avremo maggiori dettagli sul codice dell'applicazione, possiamo mostrarti sia il codice client, sia il modello di procedura memorizzata SQL, per l'utilizzo dei parametri con valori di tabella.