Я хочу использовать ключевое слово like
в динамически параметризованном запросе. Я хочу защитить свой запрос от SQL-инъекций, поэтому я не хочу передавать значение, вместо этого хочу передать свои критерии во время выполнения запроса,LIKE в динамических запросах
Есть ли способ, которым я могу это сделать?
SELECT
ComposeMail.ID,
ComposeMail.DateTime,
ComposeMail.Subject,
ComposeMail.CreatedBy,
ComposeMail.ReceiverStatus,
Users.Name,
ROW_NUMBER() OVER(ORDER BY '+ @p_SortExpression +') AS Indexing
FROM
ComposeMail
INNER JOIN
Users
ON
ComposeMail.CreatedBy = Users.ID
WHERE
([email protected])
AND (
ReceiverStatus=3
OR ReceiverStatus=4
)
AND (
(Subject Like ''%' + @p3 + '%'')
OR (Body Like ''%' + @p3 + '%'')
OR (Name Like ''%' + @p3 + '%'')
)
Это моя динамическая строка запроса. Я не хочу передавать значение здесь.
Это нормально для LIKE положений, но, к сожалению, вы не можете использовать эту технику для параметризации ORDER BY выражения от вопроса. – LukeH