MS SQL tárolt eljárásban változó használata lekérdezésben

Default book

előfordulhat, hogy egy tárolt eljárásban változókból összeállított stringet akarok lefuttatni lekérdezésként. Ebben az esetben használni lehet az exec parancsot:

DECLARE @tabla AS VARCHAR(10)
DECLARE @feltetel AS VARCHAR(200)
DECLARE @SQL AS VARCHAR(1000)
DECLARE @Like AS VARCHAR(100)
SET @table = 'Valami'
SET @feltetel = ' ID < 33 '
SET @Like = 'Valami szöveg'
SET @SQL = 'SeleCT * FROM ' + @table +' WHERE ' + @feltetel + ' OR mezo LIKE '''' + @Like +''' '
EXEC (@SQL)

Így tetszőleges SQL lekérdezést lefuttathaunk a tárolt eljárásban. Egy stringbe úgy tudok majd idézőjelet írni, hogy három db idézőjelet írok egymás után.