Мне нужно связать максимум 8 переменных. Каждый из них может быть null .
Есть ли рекомендуемый способ для достижения этой цели? Я знаю, что могу просто проверить null , но это кажется утомительным.
Дополнительные детали :
Я собираюсь вызвать этот sql из кода Java. Он может быть написан с использованием JPA 2.0 Criteria API , но, скорее всего, это будет собственный запрос. База данных Oracle 10g , поэтому я думаю, что я мог бы также использовать PL / SQL .
Edit1:
Возможно, название немного вводит в заблуждение, поэтому я попытаюсь уточнить.
Результирующий SQL будет выглядеть примерно так:
...<br>
WHERE var1 = :var1<br>
AND var2 = :var2<br>
...<br>
AND var = :var8
Теперь мне нужно связать параметры из Java-кода следующим образом:
nativeQuery.setParameter("var1", var1)<br>
...<br>
nativeQuery.setParameter("var8", var8)
Некоторые параметры могут быть нулевыми, поэтому нет необходимости связывать их. Но я не вижу, как я могу опустить их в SQL.
Edit2:
Я ожидаю увидеть процедуру SQL или PL / SQL в ваших ответах (если это возможно без проверки null ).
На самом деле, все эти переменные имеют одинаковый тип. Я думаю, что невозможно найти решение с использованием ANSI SQL, но, может быть, есть некоторые процедуры PL / SQL, которые позволяют работать с varargs?