sql >> Databáze >  >> RDS >> Sqlserver

Potřebujete pomoc s dynamickým dotazem s klauzulí IN

Pokud je vaše jméno dodavatele

 declare @in varchar(100)
 select @in = 'HP,LENOVO'

Můžete použít dynamické SQL

 declare @sql nvarchar(1000)
 select @sql = 'select * from yourtable where yourfield in ('[email protected] +')'
 exec sp_executesql @sql

nebo můžete nastavit, aby funkce rozdělení vracela tabulku

 select * 
 from yourtable
     inner join dbo.f_Split(@in) f 
     on yourtable.yourfield =f.entry

Druhý je mnohem vhodnější kvůli jeho ochraně před útoky typu SQL injection



  1. volba operátora optimalizace dotazů – vnořené smyčky vs hash match (nebo sloučení)

  2. Jak volat proceduru s parametrem out jako typ tabulky z třídy Java

  3. Získávání trasování zásobníku chyb MySQL na Oracle JDBC Connection

  4. Tomcat 6/7 JNDI s více zdroji dat