Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Простой вопрос:  [new]
Мудрый клён
Member [заблокирован]

Откуда: Kazan
Сообщений: 646
В хранимой процедуре в инструкции SELECT где в критериях поля Where указываю параметр.

..WHERE (NOT (dbo.SOTRUDNIKI.S IS NULL)) AND (OLDF.Фамилия LIKE @Фамилия)

Как в инструкции EXECUTE передать если параметр не задается.
11 авг 04, 15:36    [874802]     Ответить | Цитировать Сообщить модератору
 Re: Простой вопрос:  [new]
Вербняков Александр
Member

Откуда: г.Таганрог, Ростовская область
Сообщений: 498
NULL
11 авг 04, 15:38    [874812]     Ответить | Цитировать Сообщить модератору
 Re: Простой вопрос:  [new]
Вербняков Александр
Member

Откуда: г.Таганрог, Ростовская область
Сообщений: 498
сори ... при null запрос вообще ничего не вернёт, надо или '' или '%' в зависимости от того должно быть что-то без фамилии или нет
11 авг 04, 15:40    [874824]     Ответить | Цитировать Сообщить модератору
 тогда он мне выберет все Null. Уточняю :  [new]
Мудрый клён
Member [заблокирован]

Откуда: Kazan
Сообщений: 646
как сделать выборку на всё в OLDF.Фамилия при этом задав параметр, так как он мне пригодится для точного задания фильтра.
11 авг 04, 15:46    [874849]     Ответить | Цитировать Сообщить модератору
 Re: Простой вопрос:  [new]
Luchkin Dmitry
Member

Откуда: Новосибирск -> Ангарск -> Братск -> Мск
Сообщений: 1921
WHERE NOT dbo.SOTRUDNIKI.S IS NULL AND (@Фамилия is null or OLDF.Фамилия LIKE @Фамилия) ?
11 авг 04, 15:48    [874860]     Ответить | Цитировать Сообщить модератору
 Re: Простой вопрос:  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Мудрый клён
В хранимой процедуре в инструкции SELECT где в критериях поля Where указываю параметр.

..WHERE (NOT (dbo.SOTRUDNIKI.S IS NULL)) AND (OLDF.Фамилия LIKE @Фамилия)

Как в инструкции EXECUTE передать если параметр не задается.


А как это вы в EXECUTE можете использовать переменную?! Переходите на использование sp_executesql (если, конечно, нельзя отказаться от динамики), параметр хп объявляйте по дефолту = NULL и

...
WHERE 
  (dbo.SOTRUDNIKI.S IS NOT NULL) AND 
  ((OLDF.Фамилия LIKE @Фамилия) OR
    (@Фамилия IS NULL))
11 авг 04, 15:48    [874861]     Ответить | Цитировать Сообщить модератору
 А можно так:  [new]
Мудрый клён
Member [заблокирован]

Откуда: Kazan
Сообщений: 646
в параметре передавать часть инструкции используя sp_executesql , например таким образом:


Построить:
...
WHERE
(dbo.SOTRUDNIKI.S IS NOT NULL)' + @Фамилия

А передавать:
Либо
'AND (OLDF.Фамилия LIKE 'Иванов')'

либо ' '
11 авг 04, 16:20    [874970]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить