Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

É possível usar parâmetros de consulta para preencher a palavra-chave IN


Você pode passar a lista de GUIDs como um parâmetro de string separado por vírgula e usar um UDF com valor de tabela para dividi-los em uma tabela para usar em seu IN cláusula:
SELECT *
FROM my_table
WHERE id IN (SELECT id FROM dbo.SplitCSVToTable(@MyCSVParam))

Erland Sommarskog tem um artigo interessante com exemplos de como dividir strings separadas por vírgulas em tabelas usando uma UDF.

(Por motivos de desempenho, você deve garantir que sua UDF tenha valor de tabela embutido, em vez de várias instruções.)