Я создаю хранимую процедуру для выполнения поиска через таблицу. У меня много разных полей поиска, все из которых являются необязательными. Есть ли способ создать хранимую процедуру, которая будет обрабатывать это? Скажем, у меня есть таблица с четырьмя полями: ID, FirstName, LastName и Title. Я мог бы сделать что-то вроде этого:
CREATE PROCEDURE spDoSearch
    @FirstName varchar(25) = null,
    @LastName varchar(25) = null,
    @Title varchar(25) = null
AS
    BEGIN
        SELECT ID, FirstName, LastName, Title
        FROM tblUsers
        WHERE
            FirstName = ISNULL(@FirstName, FirstName) AND
            LastName = ISNULL(@LastName, LastName) AND
            Title = ISNULL(@Title, Title)
    END
Такие работы. Однако он игнорирует записи, где FirstName, LastName или Title имеют значение NULL. Если Title не указан в параметрах поиска, я хочу включить записи, где Title NULL - то же самое для FirstName и LastName. Я знаю, что я мог бы сделать это с помощью динамического SQL, но я бы хотел этого избежать.
