![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передача параметров ;в запрос [MSSQL]
alsn © (2002-06-14 13:25:00)Здравствуйте. На MSSQL есть таблица Table1 вида
ID, Field1, Field2, ..., Field10. Пусть для простоты все поля будут int.
Создаем процедуру:
create procedure test @param1 int, @param2 int, ..., @param10 int
as begin
Select * From Table1
Where
?????????
end
Параметры @param1 int, @param2 int, ..., @param10 - это
условия, налагаемые на поля Field1, Field2, ..., Field10.
которым должны быть равны значения соответсвующих полей.
Но, условие FieldX = @paramX должно налагаться только если @paramX is Not Null.
Что должно быть записано в предложнении Where
или как это все сделать по другому?
Заранее спасибо.
Автор вопроса (2002-06-14 14:19:00) [1]2 MishGan:
Если использовать dynamic sql, юзерам придется давать права на чтение этих таблиц, чего делать нельзя.
MishGan` (2002-06-14 13:51:00) [2]А нельзя так (FieldX = @paramX) OR (@paramX IS NULL)?
Или если все так плохо - используй dynamic sql (EXEC или SP_EXECUTESQL) - ты сможешь формировать условие запроса в процессе выполнения хр. процедуры.
TSV (2002-06-14 13:47:00) [3]SELECT ...
FROM Table1
WHERE
(@Param1 is null or Field1 = @Param1)
and (@Param2 is null or Field2 = @Param2)
...
Удачи.