2014-01-22 6 views
0

я прочитал статью о Построение динамического SQL в хранимой процедуре, это было действительно good.That статье говорилось:Ограничение использования динамического SQL в хранимой процедуре

Динамический SQL необходим, когда нам нужно получить набор записей, основанный на разных параметрах поиска

Итак, я думаю, что мы можем использовать его в каждом проекте, который нам нужен для получения некоторых записей для разных поисков, и нет ограничений с использованием Dynamic SQL. это правда?

+0

Там будут некоторые плюсы и минусы динамического Sql, вы должны избегать использовать его всякий раз, когда вы можете, но временами динамический sql - единственный способ пойти, прочитать эту статью, чтобы узнать больше о динамическом sql http://www.sommarskog.se/dynamic_sql.html –

ответ

1

Вы должны оставить динамические запросы в качестве последнего средства, где вы не можете использовать параметры. Таким образом вы защитите себя от SQL-инъекций.

Вы всегда можете сделать некоторые параметры необязательны и использовать те, в ИНЕКЕ:

... 
WHERE (@Param1 IS NULL OR [email protected]) AND ... etc 
... 

Таким образом, вы, если вы установите @ Param1 на NULL означает не использовать его.

Другим вариантом может быть с помощью полнотекстового поиска, более подробно об этом вы можете найти здесь: http://technet.microsoft.com/en-us/library/ms142571.aspx

Смежные вопросы