Как отследить Null значения в хранимых процедурах?
Добавлено: 05 авг 2010, 14:28
Всем добрый день. Есть хранимая процедура выборки строк из таблицы. БД FireBird 2.1. Таблица 1 млн записей. Индексы построены по запрашиваемым полям. Основное тело хранимой процедуры такое:
Как видно из запроса, любой параметр для Starting With должен работать не при Null значениях, а при значении типа ''. Есть ли какие-нибудь языковые конструкции для хранимой процедуры, чтобы отследить условие того, что некоторые запросы идут типа NULL и не использовать их в запросах, чтобы увеличить скорость ?
Код: Выделить всё
begin
for select v.family, v.name, V.farther, v.sex, V.date_born,
v.doc_name, v.doc_nomb, v.streetname, v.housenomber, v.kvartirano
from
vibor2000 V
where v.family starting with :like_family
and v.name starting with :like_name
and v.farther starting with :like_farther
and v.streetname starting with :like_streetname
and v.housenomber starting with :like_housenomber
and v.kvartirano starting with :like_kvartirano
into
:family,
:name,
:farther,
:sex,
:date_born,
:doc_name,
:doc_nomb,
:streetname,
:housenomber,
:kvartirano
do
begin
suspend;
end
end