Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

È possibile utilizzare i parametri di query per riempire la parola chiave IN

Puoi passare l'elenco dei GUID come parametro stringa separato da virgole e utilizzare un UDF con valori di tabella per dividerli in una tabella da utilizzare nel tuo IN clausola:

SELECT *
FROM my_table
WHERE id IN (SELECT id FROM dbo.SplitCSVToTable(@MyCSVParam))

Erland Sommarskog ha un articolo interessante con esempi su come dividere stringhe separate da virgole in tabelle usando una UDF.

(Per motivi di prestazioni, dovresti assicurarti che la tua UDF sia inline con valori di tabella, piuttosto che con istruzioni multiple.)