Задать вопрос
@Andrew_Holmes

Какие существуют способы динамического формирования условий в WHERE?

Здравствуйте!

Имеется html-страница, на которой пользователь указывает нужные параметры для выборки данных и набор сервлетов, которые обрабатывают post-запрос со страницы. Суть обработки сводится к формированию и выполнению запроса к БД. В зависимости от выбора/не выбора различных параметров секция WHERE в запросе меняется.

Какие существуют способы динамического формирования условий в WHERE (с учетом того, что требования к странице и к условиям поиска в будущем будут расти)?
  • Вопрос задан
  • 2821 просмотр
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Losted
@Losted
Software Architect
В JPA есть CriteriaBuilder
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dude_sam
@dude_sam
BI Developer
С java, честно говоря, не знаком, но в sql можно формировать динамический запрос в nvarchar и затем запускать его разными способами, к примеру
DECLARE @sql_exec NVARCHAR(4000), @EOL CHAR(2)
SELECT @EOL = CHAR(13) + CHAR(10) 
SELECT @sql_exec = 'SELECT 1' + @EOL
-- тут добавить условия
-- формирования динамического запроса
--
SELECT @sql_exec = @sql_exec + 'WHERE 1=1'
-- тут добавить
-- формирование условий выборки
-- 
-- просмотр сформированного запроса
PRINT @sql_exec
-- выполнение:
EXEC(@sql_exec)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы