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

Er det muligt at bruge forespørgselsparametre til at udfylde IN nøgleordet

Du kan sende listen over GUID'er som en kommasepareret strengparameter og bruge en tabelværdiret UDF til at opdele dem i en tabel til brug i din IN klausul:

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

Erland Sommarskog har en interessant artikel med eksempler på, hvordan man opdeler kommaseparerede strenge i tabeller ved hjælp af en UDF.

(Af præstationsmæssige årsager bør du sikre dig, at din UDF er inline-tabelvurderet i stedet for multi-sætning.)




  1. mysql_connect (localhost / 127.0.0.1) langsom på Windows-platformen

  2. Sådan importerer og eksporterer man en database via phpMyAdmin ('Adgang nægtet oprette database db_name' fejl)

  3. Kan ikke tilbagekalde tilladelse givet af en anden bruger

  4. MySQL datetime sammenligning med forrige række