sql >> Base de Datos >  >> RDS >> Sqlserver

¿Es posible utilizar parámetros de consulta para completar la palabra clave IN?

Puede pasar la lista de GUID como un parámetro de cadena separado por comas y usar un UDF con valores de tabla para dividirlos en una tabla para usar en su IN cláusula:

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

Erland Sommarskog tiene un artículo interesante con ejemplos de cómo dividir cadenas separadas por comas en tablas usando una UDF.

(Por razones de rendimiento, debe asegurarse de que su UDF tenga valores de tabla en línea, en lugar de declaraciones múltiples).